2010-11-25 4 views
1

J'ai créé un Timer avec un TimerVO qui implémente Serializable comme info de la minuterie et ajouté à TimeService. Le TimerVO contient simplement l'ID de l'objet qui sera traité à l'expiration du délai.Impossible désérialiser objet avec minuterie ClassNotFoundException information sur JBoss

timerService.createTimer(60000, 60000, new TimerVo(objectId, TIMER_NAME)); 

Lorsque le nœud est démarré, les compteurs sont tous créés correctement, je peux voir l'enregistrement de la méthode de délai d'attente, et ils sont conservés dans la base hypersonique de JBoss dans data/hypersonic/localDB.script, mais lorsque le nœud est redémarré je reçois ClassNotFoundException au démarrage lorsque les temporisateurs sont restaurés par les conteneurs.

2010-11-25 21:40:25,171 ERROR (main) [org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin] Cannot deserialize 
java.lang.ClassNotFoundException: exam.ejb.TimerVo 

Pourquoi ai-je l'ClassNotFoundException et est-il un moyen de le résoudre?

EJB3.0, Java 1.6, JBoss 5.1.0.GA

Répondre

0

Cela ressemble à un problème de classloader. J'ai déplacé le TimerVo dans un jar séparé que j'ai déployé dans le répertoire node03/lib et je n'ai pas eu les erreurs. J'ai soulevé un problème bug sur le bug tracker de JBoss.

Questions connexes