本文介绍disconf如何管理cronjob的配置
spring的cronjob有2种实现方式:存入哦你job和scheduler
新建cronjob.properties,内容为:
# cron job新建cronjob.xml,内容为:
task.pool.size=20
task.getMoney.delay=1000
task.getCar.cronExpression=*/1 * * * * ?
<?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"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 定时get car -->
<bean id="getCar" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailfactorybean">
<property name="targetObject" ref="cronJobService" />
<property name="targetMethod" value="getCar" />
</bean>
<bean id="getCarJob" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="getCar" />
<property name="cronExpression" value="${task.getCar.cronExpression}">
</property>
</bean>
<!-- task启动列表 -->
<bean id="startQuertz" lazy-init="false" autowire="no"
class="org.springframework.scheduling.quartz.Schedulerfactorybean">
<property name="triggers">
<list>
<ref bean="getCarJob" />
</list>
</property>
</bean>
<!--处理任务 -->
<bean id="scheduler" class="org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler">
<property name="poolSize" value="${task.pool.size}" />
<property name="waitForTasksToCompleteOnShutdown" value="true" />
</bean>
<task:scheduled-tasks scheduler="scheduler">
<task:scheduled ref="cronJobService" method="getMoney"
fixed-delay="${task.getMoney.delay}" />
</task:scheduled-tasks>
</beans>
参考:
https://github.com/knightliao/disconf/wiki
原文链接:https://www.f2er.com/xml/295584.html