Я использую Jboss5.1.x, EJB3.0 Я пытаюсь настроить Кварц. Я получаю это исключение при попытке поиска:
InitialContext ctx = new InitialContext(); StdScheduler scheduler = (StdScheduler) ctx.lookup("Quartz");
это исключение:
java.lang.ClassCastException: org.quartz.impl.StdScheduler нельзя привести к org.quartz.Scheduler
У кого-нибудь есть идеи?
Спасибо.
Скорее всего, у вас есть две копии Quartz JAR в вашем пути к классам - у JBoss есть своя собственная копия, и, вероятно, ваше приложение тоже имеет ее в своем каталоге lib. Два сталкиваются.
lib
Удалите JAR из приложения и повторите попытку.
Это потому, что у вас есть планировщик, связанный с JNDI, поэтому вы должны сделать это:
Scheduler scheduler = (Scheduler) ctx.lookup("Quartz");
Убедитесь, что вы правильно настроили кварц, следуя этой инструкции .
Решение состоит в том, чтобы установить quartzservice в jboss-service.xml в META-INF.
quartzservice
jboss-service.xml
<module> <service>quartzservice.sar</service> </module>
Вот и все.Служба связана и может быть использована изнутри всего EAR.