- PR -

設定ファイルの再読み込み方法

1
投稿者投稿内容
とまと
ベテラン
会議室デビュー日: 2003/10/18
投稿数: 51
投稿日時: 2003-10-18 09:27
こんにちは。

サーブレットのinitメソッドで設定ファイルを読み込むように
しています。
設定ファイルを変更した場合、Tomcatを再起動しないで
再読み込みするようにしたいと思っています。
これを実現するのにはどのような方法があるのでしょうか。

自分では次の方法しか浮かびませんでした。

1.そのサーブレットに設定ファイルが変更したことを知らせる
  リクエストを送り、service(doGet, doPost)メソッドの中で、
  自分自身のinitあるいはdestroyメソッドを呼び出す。
※destroyメソッドを呼べば、サーブレットインスタンスが
 なくなり、次にリクエストが来たときにインスタンスが生成される?
※タイミングによっては問題がある?

2.サーブレットから新たにスレッドを作り、
  そのスレッドが定期的に設定ファイルのタイムスタンプを
  調べるようにする。
  変更されていれば、設定ファイルを再読み込みする。

もっと簡単な方法、上の方法の問題点などありましたら、
教えてください。
よろしくお願いします。
うのきち
ベテラン
会議室デビュー日: 2003/02/17
投稿数: 55
投稿日時: 2003-10-18 09:49
J2SE 1.4以降なら、java.util.prefs.Preferencesが使えるかもしれません。
設定が変更された時に通知を受けることが出来ます。
とまと
ベテラン
会議室デビュー日: 2003/10/18
投稿数: 51
投稿日時: 2003-10-18 13:30
こんにちわ。

うのきちさん、返信ありがとうございます。

引用:

うのきちさんの書き込み (2003-10-18 09:49) より:
J2SE 1.4以降なら、java.util.prefs.Preferencesが使えるかもしれません。
設定が変更された時に通知を受けることが出来ます。



設定ファイルの情報をサーブレットの初期化処理で
Preferencesに登録し、
設定ファイルを変更したら、
外部プログラムで
変更内容をPreferencesに反映するという
方法でしょうか。
アプリケーションのために独自に作成したプロパティ形式の
設定ファイルなどの場合はPreferences自身を設定情報の
格納場所にしたり、変更通知機能を利用したりでき、
このAPI使えると思いました。

サーブレットで使用している既存のコンポーネント(log4j等)の
設定ファイルの変更を反映させる場合は、
Preferencesの変更通知機能のみ使うという感じになるのでしょうか。

はじめてこのAPIを知ったのですが、
おもしろいと思いました。
ありがとうございました。
1

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