我使用的是Jboss5.1.x,EJB3.0 我正在尝试配置Quartz。 我尝试查找时遇到此异常:
InitialContext ctx = new InitialContext();
StdScheduler scheduler = (StdScheduler) ctx.lookup("Quartz");
这是例外:
java.lang.ClassCastException:org.quartz.impl.StdScheduler无法强制转换为org.quartz.Scheduler
任何人都有任何想法?
感谢。
答案 0 :(得分:4)
你很可能在你的类路径中有两个Quartz JAR副本 - JBoss有自己的副本,你的应用程序也可能在它的lib
目录中有一个副本。两者发生了冲突。
从您的应用程序中删除JAR,然后重试。
答案 1 :(得分:1)
这是因为你有一个绑定到JNDI的调度程序,所以你应该这样做:
Scheduler scheduler = (Scheduler) ctx.lookup("Quartz");
按照此tutorial检查您是否正确配置了石英。
答案 2 :(得分:0)
解决方案是在META-INF中的quartzservice
中设置jboss-service.xml
。
<module>
<service>quartzservice.sar</service>
</module>
就是这样。服务受到约束,可以在整个EAR中使用。