1. はじめに
イントラネット マシンで Quartz を使用すると、警告が出力され続けます。This scheduler instance is still active but was recovered by another instanc.....
エラーの原因: Quartz のスケジュールされたタスクが複数のマシンで実行されており、各マシン間の時間が同期されていないため、データの整合性を確保するために、後から開始されたスケジュールされたタスクは実行されません。
注: 次の操作はイントラネット マシン上で実装されており、一部のプロセスにはテクスチャがありません。
解決策は次のとおりです
2、解決策
1. 他のマシンをシャットダウンする クォーツ タイミング タスク
Quartz スケジュールされたタスクを 1 台のマシンのみが実行するようにするには、Quartz 構成ファイルquartz.propertiesorg.quartz.jobStore.isClustered=false
または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 と入力してレジストリ エディタに入り、次のパスのパラメータ値を変更します。
# 把默认的 10 改为 5,5 的意思就是自身为可靠的时间源
计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\W32Time\Config AnnounceFlags=5
# 将默认的 0,改为 1,1 为启用NTP服务器。
计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\W32Time\TimeProviders\NtpServer Enabled=1
管理者は CMD に入り、次のコマンドを実行します。
net stop w32time
net start w32time
w32tm /stripchart /computer:127.0.0.1、エコーする時間があれば、構成は成功しています。
C:\WINDOWS\system32>w32tm /stripchart /computer:127.0.0.1
正在跟踪 127.0.0.1 [127.0.0.1:123]。
当前时间是 2022/7/8 20:02:43。
20:02:43, d:+00.0001958s o:+00.0000809s [ * ]
20:02:45, d:+00.0003058s o:+00.0001023s [ * ]
20:02:47, d:+00.0002958s o:+00.0000309s [ * ]
ファイアウォールルールを追加する
[コントロール パネル] -> [システムとセキュリティ] -> [Windows ファイアウォール] -> [詳細設定] -> [受信ルール] (右クリック) -> [新しいルール] -> [ポート] -> [次へ] -> [UDP] -> [特定のローカル ポート :123]
②. クライアントはNTPサーバーの時刻を同期します。
クライアント 192.168.10.101 は 192.168.10.100 (NTP サーバー) の時刻を同期します
[コントロール パネル] -> [時計とゾーン] -> [期間と時刻] -> [インターネット時刻] -> [設定の変更] [
今すぐ更新]をクリックして、サーバー時刻の同期が成功したことを確認します。
3. 結果
Quartz タイミング タスクを確認し、警告が消えていることを確認します。