无法在JBoss上使用ClassNotFoundException反序列化Timer信息对象

时间:2010-11-25 22:05:52

标签: java java-ee timer jboss5.x

我创建了一个TimerTimerVO实现了Serializable作为计时器的info并添加到TimeServiceTimerVO只保存将在超时时处理的对象的id。

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

当节点启动时,定时器都被正确创建,我可以看到来自超时方法的日志记录,并且它们被保存在data/hypersonic/localDB.script中的JBoss高超音速数据库中,但是当节点重新启动时,我得到了当容器恢复计时器时启动时ClassNotFoundException

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

为什么我得到ClassNotFoundException并且有办法解决它?

EJB3.0,Java 1.6,JBoss 5.1.0.GA

1 个答案:

答案 0 :(得分:0)

这看起来像是一个类加载器问题。我将TimerVo移动到我在node03/lib目录中部署的单独jar,我没有收到错误。我在JBoss的bug跟踪器上提出了bug问题。