今天在
spring
中配置quartz
框架如下,定義上午的11點
24分30秒執行
userserivce
中的dojob
方法,然而時間到了卻沒有執行
<
bean
autowire
="no"
class
="org.springframework.scheduling.quartz.schedule***ctorybean"
>
<
property
name
="triggers"
>
<
list
>
<
reflocal
="crontrigger"
/>
list
>
property
>
bean
>
<
beanid=
"crontrigger"
class
="org.springframework.scheduling.quartz.crontriggerbean"
>
<
property
name
="jobdetail"
ref=
"methodinvokingjobdetail"
/>
<
property
name
="cronexpression"
value
="30 24 11 * * ?"
/>
bean
>
<
beanid=
"methodinvokingjobdetail"
class
="org.springframework.scheduling.quartz.methodinvokingjobdetailfactorybean"
>
<
property
name
="targetobject"
ref=
"userservice"
/>
<
property
name
="targetmethod"
value
="dojob"
/>
bean
>
結果發現在
xml配置頭曾經配置了乙個
default-lazy-init
="true"
的屬性,這導致了所有的
bean
在web
容器啟動的時候都不會自動例項化
因此導致
quartz
框架中的例項
bean
也沒有例項化。
解決方法:
去掉該屬性,預設
default-lazy-init
="false"
或者在區域性的
bean
中配置加上
lazy-init
="false"
修改配置後,重啟
web容器,發現執行正常了!
Spring中的Quartz配置
quartz是乙個強大的企業級任務排程框架,spring中繼承並簡化了quartz。下面就看看在spring中怎樣配置quartz。首先我們來寫乙個被排程的類 quartzjob package com.kay.quartz public class quartzjob spring的quartz配...
Spring中的Quartz配置
首先我們來寫乙個被排程的類 package com.kay.quartz public class quartzjob spring的quartz配置檔案 xml version 1.0 encoding utf 8 beans bean id quartzjob class com.kay.qua...
Spring中Quartz的配置
quartz是乙個強大的企業級任務排程框架,spring中繼承並簡化了quartz,下面就看看在spring中怎樣配置quartz 首先我們來寫乙個被排程的類 public class quartzjob spring的配置檔案 work 10,15,20,25,30,35,40,45,50,55 ...