Spring--quartzJob配置
maven依赖:
<!-- quartz job start-->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.1</version>
</dependency>
<!-- quartz job end-->
使用时要注意spring版本,其中3.2.x之前只支持1.8.x之前的版本,对应spring配置也会有不同。
自定义job:
public class MyQuartzJobPojo { private static Logger logger = Logger.getLogger(MyQuartzJobPojo.class); public void doMyQuartzJobPojo(){ System.out.println("run in my quartz job pojo ..."+(new Date()).getTime()); } }
spring-quartz.xml配置:
<!-- quartz job pojo start -->
<bean id="myJob" class="com.copsec.railway.im.quartzJob.MyQuartzJobPojo"/>
<!-- job detail start -->
<bean id="myJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="myJob"/>
<property name="targetMethod" value="doMyQuartzJobPojo" />
</bean>
<!-- job detail stop -->
<!-- job trigger start -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="myJobDetail" />
<property name="startDelay" value="0" /> <!-- 调度工厂实例化后,经过0秒开始执行调度 -->
<property name="cronExpression"><!-- 分时日月周 0 0 1 * * ? -->
<value>0/10 * * * * ?</value>
</property>
</bean>
<!-- job trigger end -->
<!-- schedule start -->
<bean id="myScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger" />
</list>
</property>
</bean>
<!-- schedule stop -->
<!-- quartz job pojo end -->
web.xml当中配置,不要把这个配置信息写入applicationContext.xml,会出现重复执行的情况。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml,classpath:spring-quartzJob.xml</param-value>
</context-param>
<!-- 防止spring内存溢出监听器 -->
<listener>
<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
</listener>
<servlet>
<servlet-name>DispatchServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DispatchServlet</servlet-name>
<!-- 默认匹配所有请求 -->
<url-pattern>*.do</url-pattern>
</servlet-mapping>

浙公网安备 33010602011771号