Quartz - ClassCastException

2019-07-07 03:13发布

I am using Jboss5.1.x , EJB3.0 I am trying to configure Quartz. I get this exception when I try to do lookup:

       InitialContext ctx = new InitialContext();
        StdScheduler scheduler = (StdScheduler) ctx.lookup("Quartz");

this is the exception:

java.lang.ClassCastException: org.quartz.impl.StdScheduler cannot be cast to org.quartz.Scheduler

anyone has any idea?

Thanks.

3条回答
再贱就再见
2楼-- · 2019-07-07 03:45

You most likely have two copies of the Quartz JAR in your classpath - JBoss has its own copy, and your application probably has one too, in its lib directory. The two are clashing.

Remove the JAR from your application and try again.

查看更多
别忘想泡老子
3楼-- · 2019-07-07 03:46

It's because you have a Scheduler bound to JNDI, so you should do this:

 Scheduler scheduler = (Scheduler) ctx.lookup("Quartz");

Check that you have configured quartz correctly by following this tutorial.

查看更多
【Aperson】
4楼-- · 2019-07-07 03:50

The solution is to set the quartzservice in jboss-service.xml in META-INF.

 <module>
     <service>quartzservice.sar</service>
 </module>

That's it. Service is bound and can be used from within the whole EAR.

查看更多
登录 后发表回答