- PR -

J2EEシステムにおけるサービス時間終了後の制御について

投稿者投稿内容
komey
ベテラン
会議室デビュー日: 2003/11/27
投稿数: 76
投稿日時: 2005-10-06 11:59
引用:

jdk131さんの書き込み (2005-10-06 09:23) より:
・各リクエストをフィルターで取得し、
 09:00 < 現在時刻 < 20:00 のようなチェックを行う。
 エラーの場合はUnavailableExceptionをスローし
 web.xmlに登録しておいたエラー画面へ遷移する。
・時間を稼動中に変更し場合は
 専用の画面等でコンテキストの値を変更する。



終了時刻を手動で設定した場合、この設定はAPサーバが再起動されない限り恒久的に設定されていて良いのでしょうか。それとも、その日だけでしょうか。

また、延長されるのは24時まででしょうか。それとも翌日の9時までということもありえるでしょうか。

現在の設計上、DBも運用画面も存在しないのであれば、変更通知はファイルを使う、というのもアリかと思います。
initで時にファイルから設定時刻を読み込みタイムスタンプを保持しておき、それ以降は毎回タイムスタンプを確認して、更新されていたら再読込み、という感じです。
※終了時間を設定するときはファイルを編集することになりますが。

毎回タイムスタンプを確認するのが嫌なら、設定された終了時刻を過ぎた場合のみ、タイムスタンプを確認するという手もあります。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-10-06 12:33
いま思いついたのですが、バッチが起動したときに、
そのバッチ自身がサーブレットコンテキストに
「バッチ実行中です」という状態を示す値を格納し、
バッチが終了するときに
「バッチ実行中です」という状態を示す値を消すようにしてはいかがでしょうか。

サーブレットで動いていないのであれば、
専用のサーブレットを作成してからjava.net.HttpURLConnectionで
HTTPリクエストを送信すれば通知が可能です。

ただし、他のページ同様に外部からもリクエストを受け付けますので、
リモートホストによるチェックや、
複雑なパラメータを使用するなど、それなりの考慮が必要です。

スキルアップ/キャリアアップ(JOB@IT)