What Maven dependencies do I need to include Quartz support? Failing with NoClass
Hi,
I'm trying to add quartz scheduling to my app, but am hitting a wall as to which dependencies I need for my pom.xml. According to the Spring maven artifacts page, I need:
Code:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
But when i try to launch my app, I get the following error message.
Code:
Caused by: java.lang.NoClassDefFoundError: org/quartz/CronTrigger
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
If I try to manually include Quartz 2.0.2 dependency
Code:
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.0.2</version>
</dependency>
I get the following error message:
Code:
Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
My Job configuration is as follows:
Code:
<bean id="com.funcom.fwl.jobs.BuiltInScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" scope="singleton">
<property name="triggers">
<list>
<!-- trigger list -->
<ref bean="fwl.service.TrendLeaderArticleService.trigger" />
</list>
</property>
</bean>
<bean id="fwl.service.TrendLeaderArticleService.trigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="cronExpression" value="0/30 * * * * ? *" />
<property name="jobDetail">
<bean class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="name" value="fwl.service.TrendLeaderArticleService" />
<property name="group" value="news" />
<property name="targetObject" ref="trendLeaderArticleServiceImpl"/>
<property name="targetMethod" value="createTrendLeaderArticle"/>
<property name="concurrent" value="false" />
</bean>
</property>
</bean>
Can someone untangle me please and point me in the right direction?
Thanks,
Eric