1.配置文件 sys_config.properties:
#定義每天晚上23:00-24:00隔5分鐘調用機構中心webservice
deflocExpression=0 0/5 23 * * ?
2.定時器的配置文件 applicationContext-quartz.xml
<!-- 定時器管理BEAN -->
<bean id="startQuertz" lazy-init="false"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="deflocTimeTrigger" />
</list>
</property>
</bean>
<!-- 定義觸發的時間 -->
<bean id="deflocTimeTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="deflocTimeTarget" />
</property>
<!-- cron表達式 -->
<property name="cronExpression">
<value>${deflocExpression}</value>
</property>
</bean>
<!-- 測試定時器觸發-要觸發的類和方法 -->
<bean id="deflocTimeTarget"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 該調用的類 -->
<property name="targetObject">
<ref bean="defLocDownloadFws" />
</property>
<!-- 該調用的方法 -->
<property name="targetMethod">
<value>doJob</value>
</property>
<property name="concurrent" value="false" />
</bean></beans>
3.配置文件 applicationContext-common.xml 讀${deflocExpression}
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:sys_config.properties</value>
</list>
</property>
</bean>
4.applicationContext-service-dms.xml注入要實現的類
<bean id="defLocDownloadFws" class="com.jd.wms.mw.acm.service.impl.DefLocDownloadFwsImpl">
<property name="dmsToTmsWebService" ref="dmsToTmsWebService"></property>
</bean>
基本配置完成,實現的功能爲每天23:00-24:00每隔5分鐘會調用DefLocDownloadFwsImp類中的doJob方法。