spring整合quartz配置模板

来源:互联网 发布:汉诺塔算法内部流程 编辑:程序博客网 时间:2024/06/05 07:49
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">    <!--         SchedulerFactoryBean设置了Quartz Scheduler,将其生命周期作为Spring应用程序上下文的一部分进行管理。        在使用持久性作业时,强烈建议在Spring管理的(或普通的JTA)事务中对Scheduler执行所有操作。否则,数据库锁定将无法正常工作,甚至可能会中断。        triggers:用FactoryBean创建的Scheduler注册一个Trigger对象列表。        org.quartz.threadPool.threadCount:设置线程数。     -->    <bean id="taskScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">        <property name="triggers">            <list>                <ref bean="taskSimpleTrigger" />                <ref bean="taskCronTaskTrigger" />            </list>        </property>        <property name="quartzProperties">            <props>                <prop key="org.quartz.threadPool.threadCount">50</prop>            </props>        </property>    </bean>    <!--         SimpleTriggerBean:在某个时刻开始,然后按照某个时间间隔重复执行。        SimpleTriggerBean 包括属性:            * startTime      :开始时间            * endTime        :结束时间            * repeatCount    :重复次数,-1 表示不确定重复次数,一直重复            * repeatInterval :重复间隔时间            * startDelay     :在第一次开始工作之前设置延迟时间。 给定的毫秒数将被添加到当前时间来计算开始时间。 缺省值是0。       -->    <bean id="taskSimpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">        <property name="jobDetail">            <bean class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">                <property name="targetObject" ref="helloService" />                <property name="targetMethod" value="test01" />            </bean>        </property>        <property name="repeatCount" value="-1"/>        <property name="repeatInterval" value="5000"/>        <property name="startDelay" value="0"/>        <property name="startTime" value="2017-12-01 16:44:12"/>        <property name="endTime"  value="2017-12-01 23:12:00" />      </bean>    <!--         CronTriggerBean:基于 cron 表达式,支持类似日历的重复间隔,而不是单一的时间间隔。     -->    <bean id="taskCronTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">        <property name="jobDetail">            <bean class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">                <property name="targetObject" ref="helloService" />                <property name="targetMethod" value="test02" />            </bean>        </property>        <property name="cronExpression">            <value>0/5 * * * * ?</value>        </property>    </bean>    <!--         CustomDateEditor:将注入的日期型的字符串转换为日期     -->    <bean id="dateEditor" class="org.springframework.beans.propertyeditors.CustomDateEditor">        <constructor-arg>            <bean class="java.text.SimpleDateFormat">                <constructor-arg value="yyyy-MM-dd HH:mm:ss" />            </bean>        </constructor-arg>        <constructor-arg value="true" />    </bean>    <bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">        <property name="customEditors">            <map>                <entry key="java.util.Date">                    <ref local="dateEditor" />                </entry>            </map>        </property>    </bean></beans>
原创粉丝点击