Java で次のコードを使用して、Web アプリケーションにプロパティ ファイルをロードしようとしています。
InputStream in = ContextEventListener.class.getResourceAsStream(resourceConstVal);
Properties config = new Properties();
config.load(in);
このアプリケーションが tomcat サーバーで実行されている場合。プロパティ ファイルで指定されたすべてのプロパティは、システム変数としてエクスポートされ、次のコードを介してアクセスできます。
System.getProperty("TEMP")
`
ただし、同じアプリケーションが Jboss サーバーで実行された場合。プロパティは明示的にエクスポートする必要がありました
Set<Object> keySet = config.keySet();
for (Iterator iterator = keySet.iterator(); iterator.hasNext();) {
String strVal = (String) iterator.next();
System.setProperty(strVal, config.getProperty(strVal));
}
JDK 1.6、Tomcat 7.0、Jboss AS 6.1 を使用。
プロパティファイルの内容
CONTENT_DIR=XXXXXX
RESPONSE_FILE_NM=YYYYYYYY
REQUEST_INT_FILE_NM=ZZZZZZZ
異なるアプリケーション サーバーで動作が異なる理由を知りたい。