- - PR -
Sun Java Application Server 8でのプロパティファイル読み込み
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-08-03 15:30
いつもお世話になります。
どうしても解決できないため、ご教示いただければと思い投稿いたします。 ResourceBundleを用いてpropertiesファイルを読み込み 画面に表示するという単純なプログラムを作成しています。 Tomcat上で動作させた場合、propertiesファイルを書き換えると、 org.apache.catalina.core.StandardContext reloadにより、 最新のpropertiesファイルの内容に書き換わりますが、 Sun Java Application Server8では書き換わりません。 .reloadファイルを配置してタイムスタンプを変更しても .classファイルはリロードされますが、propertiesファイルは反映されません。 ドメインの再起動をすると当然ですが新しい内容に変わります。 解決方法をご存知でしたらご教示願います。 ・環境 WindowsXP + Tomcat5.5.9 ○ WindowsXP + SJAS 8 × 以下ソース(単なるテストなのでエラー処理は入れていません) --------- import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.ResourceBundle; import java.util.prefs.InvalidPreferencesFormatException; import java.util.prefs.Preferences; /** * @author work * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class ResourceBundleTest extends HttpServlet { private final String PROPERTY_FILE = "messages"; public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // ContentTypeを設定 response.setContentType("text/html; charset=Shift_JIS"); ResourceBundle rs =(ResourceBundle.getBundle(PROPERTY_FILE)); // 出力用PrintWriterを取得 PrintWriter out = response.getWriter(); // 出力 out.println("<html>"); out.println("<head>"); out.println("<title>Test</title>"); out.println("</head>"); out.println("<body>"); out.println(rs.getString("TEST1")); out.println("<BR>"); out.println("</body>"); out.println("</html>"); out.flush(); rs = null; out.close(); } } [ メッセージ編集済み 編集者: tarnwo 編集日時 2005-08-03 15:35 ] |
|
投稿日時: 2005-08-03 16:45
すいません、単純な読み込みだけなら.reloadでOKでした。
問題は Struts+EJBで、.propertiesファイルが<ドメイン>/lib/classesにあり、 ResourceBundleを含むjarが<ドメイン>/lib/ にある場合です。 Webアプリケーションのルートディレクトリおよび EJBのルートディレクトリすべての.reloadファイルに更新をかけましたが 変更されませんでした。 <ドメイン>/lib/ のjarで呼んでいれば変わらないですよね。 |
1