Spring 定时器 (配置文件)


<?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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">

<!-- 版本定制化 -->

<bean id="reportJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="cn.hs.dpl.web.action.TimerAction" />
<property name="jobDataAsMap">
<map>
<entry key="menuService">
<ref bean="menuService"/>
</entry>
</map>
</property>
</bean>

<!--
CronTriggerBean指定工作的准确运行时间
-->
<bean id="cronReportTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="reportJob" />
<property name="cronExpression">
<!-- 设置每天晚上12点的时候,会自动进行版本的定制化 -->
<value>0 0 23 ? * *</value>
</property>
</bean>

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronReportTrigger" />
</list>
</property>
</bean>

</beans>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Spring Boot动态定时器配置文件的示例: 1. 创建一个配置文件,例如dynamic-tasks.properties。 2. 在文件中添加以下内容: ``` # 配置动态任务 tasks[0].name=Task1 tasks[0].cron=0 * * * * ? tasks[0].enabled=true tasks[1].name=Task2 tasks[1].cron=0 0 * * * ? tasks[1].enabled=false ``` 3. 创建一个DynamicTask类,用于读取和解析配置文件: ```java @Configuration @ConfigurationProperties(prefix = "tasks") public class DynamicTask { private List<Task> list = new ArrayList<>(); public List<Task> getList() { return list; } public void setList(List<Task> list) { this.list = list; } public static class Task { private String name; private String cron; private boolean enabled; // getters and setters } } ``` 4. 创建一个ScheduledTaskRegistrar类,用于注册定时器任务: ```java @Configuration @EnableScheduling public class ScheduledTaskRegistrar { @Autowired private DynamicTask dynamicTask; @Autowired private TaskScheduler taskScheduler; @PostConstruct public void init() { for (DynamicTask.Task task : dynamicTask.getList()) { if (task.isEnabled()) { taskScheduler.schedule(new Runnable() { @Override public void run() { // 定时器任务逻辑 } }, new CronTrigger(task.getCron())); } } } } ``` 5. 在启动类中添加@EnableConfigurationProperties注解,以启用配置文件属性: ```java @SpringBootApplication @EnableConfigurationProperties(DynamicTask.class) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 6. 运行应用程序,动态定时器将从配置文件中加载任务并启动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值