Spring boot with Schedule (启用/禁用)
时间:2022-05-03
本文章向大家介绍Spring boot with Schedule (启用/禁用),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文节选自《Netkiller Java 手札》
5.19.4. 计划任务控制
matchIfMissing = true, 如果改属性条目不存在返回 true
@ConditionalOnProperty("batch.metrics.export.influxdb.enabled")
# mybean.enabled = true
@ConditionalOnProperty(value='mybean.enabled')
@ConditionalOnProperty(value = "endpoints.hal.enabled", matchIfMissing = true)
# server.host = localhost
@ConditionalOnProperty(name="server.host", havingValue="localhost")
@ConditionalOnExpression("'${server.host}'=='localhost'")
# spring.rabbitmq.dynamic = true
@ConditionalOnProperty(prefix = "spring.rabbitmq", name = "dynamic", matchIfMissing = true)
@ConditionalOnProperty(prefix = "extension.security.cors", name = "enabled", matchIfMissing = false)
@ConditionalOnProperty(prefix = "camunda.bpm.job-execution", name = "enabled", havingValue = "true", matchIfMissing = true)
# spring.social.auto-connection-views = true
@ConditionalOnProperty(prefix = "spring.social.", value = "auto-connection-views")
使用案例
package mis.schedule;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@ConditionalOnProperty("mis.schedule.enabled")
@Component
public class ScheduledTasks {
private static final Logger logger = LoggerFactory.getLogger(ScheduledTasks.class);
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
public final static long ONE_DAY = 24 * 60 * 60 * 1000;
public final static long ONE_HOUR = 60 * 60 * 1000;
public final static long ONE_SECOND = 1000;
public ScheduledTasks() {
// TODO Auto-generated constructor stub
}
@Scheduled(fixedDelay = ONE_SECOND)
public void scheduleTaskSplitLine() {
logger.info("==================== {} ====================", dateFormat.format(new Date()));
}
}
application.properties 配置如下
mis.schedule.enabled=true
- 零基础学编程003:在游戏中学JAVA和C#
- 在机器学习中处理缺失数据的方法
- 零基础学编程002:Hello World
- php随机数怎么获取?一个简单的函数就能生成
- 零基础学编程009:只显示2位小数
- .Net实现Windows服务安装完成后自动启动的两种方法
- 【教程】OpenCV—Node.js教程系列:Node.js+OpenCV面部脸识别
- 学会10多种语言是种什么样的体验?
- Spring Data 最佳实践
- Prodigy,从根本上有效的自主学习驱动的注释工具
- 零基础学编程017:画出我的公众号LOGO
- 一个实用的却被忽略的命名空间:Microsoft.VisualBasic
- Spring @RequestBody 传递 List/Map 参数
- win7怎么去除快捷方式的小箭头
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- RL实践1——动态规划值迭代
- RL实践3——为Agent添加Policy
- CentOS 快速安装Python3和pip3
- Linux使用 常见经验和技巧总结
- SwiftUI:辅助功能——简单介绍
- Xshell突出显示集
- samba服务安装脚本
- 【Vue.js】Vue.js组件库Element中的树形控件、分页、标记、头像和警告
- 磁盘分区空间检测工具
- 【Vue.js】Vue.js组件库Element中的加载、消息提示、弹框和通知
- 云主机装ikuai
- 【Vue.js】Vue.js组件库Element中的导航菜单、标签页、面包屑和页头
- CentOS7查看硬盘是SSD还是HDD
- 浅谈CentOS防火墙命令
- 【Vue.js】Vue.js组件库Element中的下拉菜单、步骤条、对话框和文字提示