4

サーブレットでは、次のことを行います。

  Context context = new InitialContext();
  value = (String) context.lookup("java:comp/env/propertyName");

Apache Geronimo インスタンス (WAS CE 2.1) で値をキーpropertyNameに関連付けるにはどうすればよいですか?

Websphere AS 6 では、管理コンソールの [Name Space Bindings] ページで JNDI ルックアップ用にこれらのプロパティを構成できますが、私の人生では、Web 上のコミュニティ エディションでこれを行う方法が見つかりません。

4

2 に答える 2

1

1 つの可能性は、1 つ以上の<env-entry>タグを使用して、web.xml ファイル (WEB-INF ディレクトリ内) にプロパティを追加することです。たとえば、次のようなものです。

<env-entry>
   <description>My string property</descriptor>
   <env-entry-name>propertyName</env-entry-name>
   <env-entry-type>java.lang.String</env-entry-type>
   <env-entry-value>Your string goes here</env-entry-value>
</env-entry>

java:comp/env各 env-entry タグは、コンテキストからアクセスできる新しい環境変数を宣言します。

必要な を追加しenv-entryたら、既に投稿したものと同様のコードを使用してこれらの値にアクセスできます。私は Geronimo をインストールしていないので、これを機能させるために追加の構成が必要かどうかはわかりません。

于 2008-09-27T14:55:38.337 に答える
0

プロパティをファイルに入れ、ファイルの名前と場所を web.xml のタイプ URL のリソース参照にすることができます。リソースの値は geronimo-web.xml で設定されます。

web.xml には次のエントリがあります。

<resource-ref>
    <res-ref-name>configFileName</res-ref-name>
    <res-type>java.net.URL</res-type>
</resource-ref>

geronimo-web.xml で、configFileName の値を定義します。

<name:resource-ref>
    <name:ref-name>configFileName</name:ref-name>
    <name:url>file:///etc/myConfigFile</name:url>
</name:resource-ref>

Java では、値を検索する次のコードがあります。

initialContext = new InitialContext();
URL url = (URL) initialContext.lookup("java:comp/env/configFileName");
String configFileName = url.getPath();

次に、ファイルを開いて、そこにある値を読み取る必要があります。

これらすべての結果として、ファイル システム上のファイルにプロパティが存在します。アプリケーションを再デプロイしても上書きされません。

于 2011-03-16T12:48:51.560 に答える