本文介绍disconf如何管理cronjob的配置
spring的cronjob有2种实现方式:存入哦你job和scheduler
新建cronjob.properties,内容为:
# cron job task.pool.size=20 task.getMoney.delay=1000 task.getCar.cronExpression=*/1 * * * * ? 新建cronjob.xml,内容为:
<?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
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|