Кварц - ClassCastException - PullRequest
       48

Кварц - ClassCastException

3 голосов
/ 02 февраля 2011

Я использую 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

У кого-нибудь есть идеи?

Спасибо.

Ответы [ 3 ]

4 голосов
/ 02 февраля 2011

Скорее всего, у вас есть две копии Quartz JAR в вашем пути к классам - у JBoss есть своя собственная копия, и, вероятно, ваше приложение тоже имеет ее в своем каталоге lib. Два сталкиваются.

Удалите JAR из приложения и повторите попытку.

1 голос
/ 02 февраля 2011

Это потому, что у вас есть планировщик, связанный с JNDI, поэтому вы должны сделать это:

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

Убедитесь, что вы правильно настроили кварц, следуя этой инструкции .

0 голосов
/ 02 февраля 2011

Решение состоит в том, чтобы установить quartzservice в jboss-service.xml в META-INF.

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

Вот и все.Служба связана и может быть использована изнутри всего EAR.

...