zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    校验规则,纯数字。几位有效数字,保留几位小数
    银行卡校验规则(Luhn算法)
    forEach兼容ie8
    node.js
    gulp
    observer
    webpack.config.js 配置
    内存泄漏(Memory Leak)
    cdn
    前端 各种插件的官网
  • 原文地址:https://www.cnblogs.com/adam1991/p/8319327.html
Copyright © 2011-2022 走看看