window 10 局域网同步时间(解决错误:This scheduler instance is still active but was recovered by another instanc)

墨蓝 2023-09-28 14:18 151阅读 0赞
一、简介

在内网机使用 Quartz 时,一直在打印警告:This scheduler instance is still active but was recovered by another instanc.....

错误原因:该 Quartz 定时任务被多台机器执行,各个机器之间时间不同步,Quartz为保证数据一致性,后启动的定时任务不会执行

注意:下面操作在内网机实现,有些过程没有贴图

解决办法如下

二、解决方法
1、关闭其他机器 Quartz 定时任务

保证 Quartz 定时任务只有一台机器执行,可在 Quartz 配置文件 quartz.properties,添加 org.quartz.jobStore.isClustered=false
或者在 springboot 配置文件 application.yaml 添加 spring.quartz.properties.org.quartz.jobStore.isClustered=false

2、同步各机器时间

参考 https://www.jianshu.com/p/9bd350dcd151

机器说明:

  • 192.168.10.100:NTP 服务器
  • 192.168.10.101:客户端
①、NTP 服务器

修改注册表:
win+r 输入 regedit.exe 进入注册表编辑器,修改如下路径的参数值

  1. # 把默认的 10 改为 5,5 的意思就是自身为可靠的时间源
  2. 计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\W32Time\Config AnnounceFlags=5
  3. # 将默认的 0,改为 1,1 为启用NTP服务器。
  4. 计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\W32Time\TimeProviders\NtpServer Enabled=1

管理员进入 CMD,执行如下命令

  1. net stop w32time
  2. net start w32time

w32tm /stripchart /computer:127.0.0.1,有时间回显说明配置成功了

  1. C:\WINDOWS\system32>w32tm /stripchart /computer:127.0.0.1
  2. 正在跟踪 127.0.0.1 [127.0.0.1:123]。
  3. 当前时间是 2022/7/8 20:02:43
  4. 20:02:43, d:+00.0001958s o:+00.0000809s [ * ]
  5. 20:02:45, d:+00.0003058s o:+00.0001023s [ * ]
  6. 20:02:47, d:+00.0002958s o:+00.0000309s [ * ]

添加防火墙规则

控制面板 —> 系统和安全 —> windows防火墙- —> 高级设置 —> 入站规则(右键) —> 新建规则 —> 端口 —> 下一步 ——> UDP ——> 特定本地端口:123

在这里插入图片描述

②、客户端同步 NTP 服务器时间

客户端 192.168.10.101 同步 192.168.10.100(NTP 服务器)时间

控制面板 ——-> 时钟和区域 ——-> 时期和时间 ——-> Internet 时间 ——-> 更改设置
在这里插入图片描述
点击立即更新发现同步服务器时间成功

三、结果

查看 Quartz 定时任务发现警告消失

发表评论

表情:
评论列表 (有 0 条评论,151人围观)

还没有评论,来说两句吧...

相关阅读