社区网站搭建网站定制套餐

张小明 2026/1/10 9:19:23
社区网站搭建,网站定制套餐,门户网站的特点,wordpress 添加导航菜单执行。原因很简单#xff1a;默认情况下#xff0c;Spring 不会在多个实例之间做调度同步。这篇文章就聊聊怎么用 ShedLock#xff0c;让定时任务在多实例环境下“同一时刻只跑一次”。顺便一提#xff0c;它也能作为 Quartz 的替代。Maven 依赖先引入 shedlock-spring 这个…执行。原因很简单默认情况下Spring 不会在多个实例之间做调度同步。这篇文章就聊聊怎么用 ShedLock让定时任务在多实例环境下“同一时刻只跑一次”。顺便一提它也能作为 Quartz 的替代。Maven 依赖先引入 shedlock-spring 这个依赖dependencygroupIdnet.javacrumbs.shedlock/groupIdartifactIdshedlock-spring/artifactIdversion6.3.1/version/dependency最新版本可以去 Maven Central 看。配置ShedLock 依赖“共享数据库”并且要声明一个合适的 LockProvider。它会在库里新建一张表/文档记录当前的锁。目前它支持 Mongo、Couchbase、Elasticsearch、Redis、Hazelcast、ZooKeeper、Cassandra以及任何带 JDBC 驱动的数据库。示例我们用内存型 H2 数据库方便演示。要跑起来先把 H2 和 JDBC 版的 ShedLock 依赖加上dependencygroupIdnet.javacrumbs.shedlock/groupIdartifactIdshedlock-provider-jdbc-template/artifactIdversion6.3.1/version/dependencydependencygroupIdcom.h2database/groupIdartifactIdh2/artifactIdversion2.1.214/version/dependency然后建一张表专门存锁CREATE TABLE shedlock (name VARCHAR(64),lock_until TIMESTAMP(3) NULL,locked_at TIMESTAMP(3) NULL,locked_by VARCHAR(255),PRIMARY KEY (name))在 Spring Boot 里把数据源写到配置里这样 DataSource 才能被注入。这里用 application.ymlspring:datasource:driverClassName: org.h2.Driverurl: jdbc:h2:mem:shedlock_DB;INITCREATE SCHEMA IF NOT EXISTS shedlock;DB_CLOSE_DELAY-1;DB_CLOSE_ON_EXITFALSEusername: sapassword:接着用这个数据源配置下 LockProvider写法很直观Configurationpublic class SchedulerConfiguration {Beanpublic LockProvider lockProvider(DataSource dataSource) {return new JdbcTemplateLockProvider(dataSource);}}别忘了再加上两个注解EnableScheduling 和 EnableSchedulerLockSpringBootApplicationEnableSchedulingEnableSchedulerLock(defaultLockAtMostFor PT30S)public class SpringBootShedlockApplication {public static void main(String[] args) {SpringApplication.run(SpringBootShedlockApplication.class, args);}}defaultLockAtMostFor 表示执行节点挂了时锁最多保留多久。格式用的是 ISO8601 持续时间。下面的示例会演示怎么在方法上覆盖它。创建任务让 ShedLock 接管一个定时任务很简单方法上同时加 Scheduled 和 SchedulerLockComponentclass BaeldungTaskScheduler {Scheduled(cron 0 0/15 * * * ?)SchedulerLock(name TaskScheduler_scheduledTask,lockAtLeastFor PT5M, lockAtMostFor PT14M)public void scheduledTask() {// ...}}先说 Scheduled它支持 cron 表达式上面的表达式表示“每 15 分钟执行一次”。再说 SchedulerLockname 要唯一一般用 类名_方法名 就够了。我们不希望同一个方法被同时运行ShedLock 就是靠这个唯一名称来实现的。我们还加了两个可选参数lockAtLeastFor 用来保证最少持锁时间让两次执行之间留出一定间隔。使用 “PT5M” 表示至少 5 分钟。换句话说这个方法被 ShedLock 控制后运行频率不会高于每 5 分钟一次。lockAtMostFor 用来指定在执行节点异常比如宕机时锁最多会被保留多久。使用 “PT14M” 表示最多 14 分钟。正常情况下任务结束会立即释放锁。其实在 EnableSchedulerLock 里已经有默认值这里只是展示如何在方法级别做覆盖。总结
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

大家都用哪个网站做读书笔记网站开发软件排名

LobeChat剪贴板交互优化:复制粘贴操作更加流畅自然 在今天这个信息流转极快的时代,我们每天都在不同应用之间复制、粘贴——从技术文档中摘取一段代码,从网页上抓取一个问题描述,再粘贴进AI助手对话框寻求解答。这一看似简单的动作…

张小明 2025/12/24 5:42:57 网站建设

中国住房城乡和城乡建设部网站石家庄网站做网站

量子认知、理性与共同知识:经典与量子视角的探讨 1. 奥曼定理与量子理性 奥曼定理在决策和博弈论中具有重要地位,但它存在一些潜在假设。除了常见的共同知识和共同先验假设外,还存在一个隐藏假设,即参与者的理性。经典理性概念基于贝叶斯推理,在科学理论中通过经典概率(…

张小明 2025/12/23 14:10:52 网站建设

正保建设工程教育网站wordpress微信登陆

Q1K3微型FPS游戏项目全面解析 【免费下载链接】q1k3 A tiny FPS for js13k 项目地址: https://gitcode.com/gh_mirrors/q1/q1k3 Q1K3是一个专为js13kGames竞赛设计的微型第一人称射击游戏,整个项目大小严格控制在13KB以内。该项目展示了如何在极小的文件体积…

张小明 2025/12/24 6:43:08 网站建设

江苏建设网官方网站深圳学网站开发

中后台开发的终极效率利器:Ant Design ProComponents完全指南 【免费下载链接】pro-components 🏆 Use Ant Design like a Pro! 项目地址: https://gitcode.com/gh_mirrors/pr/pro-components 在当今快速迭代的软件开发环境中,中后台管…

张小明 2025/12/24 3:44:02 网站建设

设计网站国外网站推广的方法有哪几种

M2TS是一种常用于高清视频存储的专业格式,广泛应用于蓝光光盘和高端摄像设备。将FLV转换为M2TS格式可以有效提升视频的兼容性和画质表现,特别适合需要高质量视频输出的场景。以下是使用简鹿视频格式转换器完成转换的具体步骤: 1.首先在电脑上…

张小明 2025/12/23 16:09:20 网站建设