スポンサードリンク


イントラマートでResinサーバの分散環境を構築!JobStoreMirageSessionの警告ログを停止する方法!時刻の同期コマンドの実行の手順は?

Java フリー素材

イントラマートの開発環境を複数用意するため、Resinを分散してみました。

手順通り、intramart Accel Platformをデプロイし、
PostgreSQLのDBサーバの接続先だけを同一にすると、怪しげなログが延々と出るようになりました。

コンソールログにJobStoreMirageSessionというエラーなのか警告のようなものが出ます。

動作上問題はないのですが、メッセージが延々と出力されるということは、
コンソールログ内でのデバッグ作業ができない状態です。

大方予想はついていましたが、複数のウェブサーバで同じDBサーバを利用する場合、設定情報が同期されていないのでシステム上矛盾が生じるんですね。

今回はこのメッセージを出ないようにする方法を書いていこうと思います。

 

JobStoreMirageSessionのログ出力

詳しい情報が見つからなかったので、よくわかりませんが、
恐らくはResinサーバが管理しているセッション情報を管理するJavaクラスだと思います。

 

各Resinサーバを起動した状態にしておきます。

まず一方のResin側のコンソールを確認すると以下のログが出力されています。

 

もう一方のResinのコンソールを確認すると以下のログが出力されています。

 

一見同じエラーに見えますが、若干内容が違うことが分かりますね。

内容を見る限りでは、JobStoreMirageSessionというもので、互いのサーバの処理が衝突している感じです。

 

JobStoreMirageSessionのログ出力の原因と対処法は?

詳しい原因まではたどり着けなかったけど、
どうやらQuartz Scheduler関連で時刻がずれていることで発生した警告表示のようです。

内容を見る限りでは分散させたResinサーバの環境で
双方が管理するセッション情報の一部の整合性が保てないっぽいですね。

とりあえずはResinサーバの時刻の同期ができていないことが原因なのかな。
DBサーバの情報を取得する際に何かで衝突が発生している感じでした。

よくよく考えれば納得のいくエラーですが、
延々にコンソール上に警告表示が出力されるのは見ていてかなり鬱陶しいです。

対処法はサーバの時刻を同期させればいいだけのことです。

 

スポンサードリンク

 

Resinサーバの時刻の設定と同期方法

Windowsの場合は当たり前ですが、GUIで気軽に時刻の設定ができますよね。
Linuxサーバをご利用の方はOSがCUIならコマンドで時刻の同期をすればよいです。

今回はWindowsの手順しか載せません。

さて今までにも経験がありますが、
Windowsの時刻の設定で同期する場合、NTPサーバを指定するだけなんですが、なぜか同期してくれないことが多々あります。

なので今回はコマンド実行で手動で時刻の同期を行ないます。

 

コマンドプロンプトで時刻の同期

正直コマンドで実行した方が確実な気がしますので、以下の載せておこうと思います。

まずはコマンドプロンプトを起動して、以下のコマンドを実行しましょう。

 

コマンド実行は分散環境として利用しているResinサーバの双方で行なって下さい。

実行後に「コマンドは正しく完了しました。」というメッセージが表示されるか確認します。

コマンド実行が完了すると、延々と出力し続けていたJobStoreMirageSessionの警告がピタッと止まりました。

その後、両方のResinで開発・運用していますが、同様の現象はなくなりました。

 

The following two tabs change content below.
よっき プロフィール画像
パソコンが大好きな青年。職業はプログラマ/SE。 フリーランスとしてウェブサイトの構築・保守の業務に従事。専門学校とパソコンスクールで講師も担当。幼少期からパソコンが大好きで、趣味がそのまま仕事に転じた。自作PCの魅力に惹かれたのは学生時代の頃。自作PC専門ブログで、お得な情報を紹介しています。

スポンサードリンク


コメントを残す




CAPTCHA


このページの先頭へ