※ ChatGPTを利用し、要約された質問です(原文:ResourceBundleの再読込)
ResourceBundleの再読込
このQ&Aのポイント
webアプリでResourceBundleクラスを使用してメッセージやDB接続情報を取得しています。
DB接続情報のパスワード変更機能を実装しましたが、二度目の変更で前回の変更が反映されません。
取得したResourceBundleはstaticで保持しています。
サーブレットで構築したwebアプリの中でResourceBundleクラスを使用して各メッセージやDB接続情報等を取得しています。
画面機能に、DB接続情報のパスワードの変更機能をつけました。
フォームに現在のパスワードと新規のパスワードを入力後、現在のプロパティーファイル内のパスワードと比較し、一致した場合にプロパティーファイルの内容を書き換えています。
その後同じ画面に戻りまして、また入力フォームがあるのですが、そこでもう一度パスワードの変更を行うと先に変更したはずのパスワードが認識されません。
1.現在のパスワード[aaaa]を入力、新しい[bbbb]を入力。
2.チェック処理 入力[aaaa] プロパティーファイル[aaaa]
3.一致したのでパスワード項目を[bbbb]でファイルの更新処理
4.入力画面に戻る
ここでファイルのパスワード項目は[bbbb]に変更されているのは確認しました。
しかし、1に戻って現在のパスワードに[bbbb]を入力して処理を続行すると2のチェック処理で、変更前の[aaaa]が使用されてしまいます。
取得したResourceBundleはstaticで持ちまわしています。
お礼
やはり無理でしたか。 その保持してるクラスを生成しなおしても 同じ物が返ってくるので。 propertiesとして取得することにしました。 すばやい回答ありがとうございました。