Spring里面,有两种方式配置一个job detail,一种是实现quartz的Job接口,然后在spring的配置文件里面用JobDetailBean。配置文件如下:
<bean id="job" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="quartz.HelloJob"/>
<property name="jobDataAsMap">
<map>
<entry key="name" value="sting"/>
</map>
</property>
</bean>
另外一种是直接使用MethodInvokingJobDetailFactoryBean。可以不用实现Job接口,普通的java类也可以作为job class。配置文件如下:
<bean id="job" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="jobClass"/>
<property name="targetMethod" value="execute"/>
</bean>
然后配置一下trigger和schedule factory,配置文件如下:
<bean id="myTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="job"/>
<property name="startDelay" value="1000"/>
<property name="repeatInterval" value="1000"/>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="myTrigger" />
</list>
</property>
</bean>
Related posts: