<bean id="saveProjectJob"
3 class="org.springframework.scheduling.quartz.JobDetailBean">
4 <property name="jobClass">
5 <value>
6 com.gresoft.components.fileupload.service.ParseFileQuartz
7 </value>
8 </property>
9 <property name="jobDataAsMap">
10 <map>
11 <entry key="readXmlService">
12 <ref bean="readXmlService" />
13 </entry>
14 </map>
15 </property>
16 </bean>
17 <bean id="saveCron"
18 class="org.springframework.scheduling.quartz.CronTriggerBean">
19 <property name="jobDetail">
20 <ref local="saveProjectJob" />
21 </property>
22 <property name="cronExpression">
23 <value>0/30 * * * * ?</value>
24 </property>
25 </bean>
26 <bean id="scheduler"
27 class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
28 <property name="triggers">
29 <ref local="saveCron" />
30 </property>
31 </bean>
注意上述紅色字型<map>結點,這裡主要是為了在定時任務需要使用到Bean,通過Spring給注入進來,如果不寫明,就會報
java.lang.NullPointerException錯誤,主要是因為沒有注入Bean
注意:在Spring配置和Quartz內建内容時,有兩點需要注意
1、在<Beans>中不能夠設定default-lazy-init="true",否則定時任務不觸發,如果不明确指明default-lazy-init的值,預設是false。
2、在<Beans>中不能夠設定default-autowire="byName"的屬性,否則背景會報org.springframework.beans.factory.BeanCreationException錯誤,這樣就不能通過Bean名稱自動注入,必須通過明确引用注入。
以上内容截自:http://www.blogjava.net/wuxj888java/archive/2008/01/09/173951.html