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

张小明 2026/3/12 20:27:17
社区网站搭建,网站定制套餐,门户网站的特点,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进行投诉反馈,一经查实,立即删除!

php做视频网站源码桐城市美丽乡村建设专题网站

SAMBA文件共享与网络打印管理全解析 1. SAMBA文件共享管理基础 在VMware配置的 smb.conf 文件中,有两个部分控制着客户端对文件系统的访问,分别是 [homes] 和 [HostFS] 。 [homes] 部分 :该部分用于控制对用户主目录的访问,其配置示例如下: [homes]comment = …

张小明 2026/3/5 6:31:57 网站建设

上海 高端网站建设joomla! 1.5 网站建设基础教程

嘿,各位Headscale爱好者!你是否曾经在配置Headscale时感到困惑?配置文件放在哪里?环境变量怎么用?优先级谁说了算?别担心,这篇文章将用最接地气的方式,带你从配置小白成长为配置高手…

张小明 2026/3/6 9:03:23 网站建设

文化网站策划书内容温江建设局网站

在企业级 Java 开发中,日志往往是最重要的“真相记录者”——它精准地还原了系统运行的全过程。然而,日志也可能成为“信息泄露的温床”:用户身份证号、手机号、银行卡号、甚至密码,可能在日志中赤裸裸地暴露出来。 这不仅违反合规…

张小明 2026/3/5 6:31:59 网站建设

网站建设的考虑中国网站建设公司排行榜

《互联网与万维网入门指南》 1. 所需设备与技能 要使用互联网和万维网,需要以下设备: - 一台电脑(笔记本或台式机) - 调制解调器或路由器 - 电话连接 - Windows 7 家庭高级版操作系统 - Internet Explorer 8 浏览器 - 显示器屏幕 - 键盘和鼠标或触控板 - 打印机(…

张小明 2026/3/6 8:23:52 网站建设

网站群建设情况佛山互联网公司有哪些

第一章:MCP DP-420图数据库索引设计概述在现代高性能图数据管理系统中,索引机制是决定查询效率和系统可扩展性的核心组件。MCP DP-420作为一款面向大规模图结构存储与实时分析的专用数据库,其索引设计融合了传统B树、倒排索引与图感知哈希技术…

张小明 2026/3/6 14:42:45 网站建设

来宾 网站建设郑州网站建设没效果

Linux系统安全与内核配置全解析 1. 安全外壳(Secure Shell)配置 安全外壳(Secure Shell,SSH)是实现两个系统在互联网上安全通信的优秀方式,但要求两端系统都安装安全外壳软件。在SSH配置文件中,配置命令前通常有 Host 语句,用于指定命令所适用的远程主机。例如,文…

张小明 2026/3/11 21:22:52 网站建设