码迷,mamicode.com
首页 > 编程语言 > 详细

Spring--quartzJob配置

时间:2018-01-20 00:58:21      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:tar   classpath   ros   color   listener   出现   clean   实例化   xml配置   

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>

 

Spring--quartzJob配置

标签:tar   classpath   ros   color   listener   出现   clean   实例化   xml配置   

原文地址:https://www.cnblogs.com/adam1991/p/8319327.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!