您好,登錄后才能下訂單哦!
使用Spring配置管理Quartz的時候會遇到下面的異常:
Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class
原因是Spring 3.2版本中內(nèi)置的Quartz版本與Quartz包2.2中的接口不兼容。
解決辦法:CronTriggerBean 替換成 CronTriggerFactoryBean。
配置如下:
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="billTrigger"/>
</list>
</property>
<property name="autoStartup" value="true"/>
</bean>
<bean id="billTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="billJobDetail"/>
<property name="cronExpression" value="59/1 * * * * ?"/>
</bean>
<!-- 每隔1秒鐘觸發(fā)一次 -->
<bean id="billJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="billJob"/>
<property name="targetMethod" value="execute"/>
<property name="concurrent" value="false"/>
</bean> <!-- 是否允許任務并發(fā)執(zhí)行。當值為false時,表示必須等到前一個線程處理完畢后才再啟一個新的線程 -->
<bean id="billJob" class="cn.com.infinitus.moa.application.job.DownloadBillJob"/>
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。