3

Liberty Profile で既存の WebSphere アプリケーションを実行しようとしていますが、問題が発生しました。アプリケーションには、サーバーで構成されたリソース環境エントリーがあり、これを Liberty Profile リソースに変換する必要があります。データソース (dataSource) または定数 (jndiEntry) ではない、server.xml で JNDI リソースを構成するにはどうすればよいですか?

どうもありがとう

4

3 に答える 3

3

これは、server.xml の要素を使用して構成できます。これはインフォセンターに記載されています。基本的に、これを使用して server.xml で jndi 機能を有効にします。

<featureManager>
   <feature>jndi-1.0</feature>
</featureManager>

次に、JNDI エントリを構成できます。これを使用して単純な型しか実行できないため、複雑なオブジェクトはありません。エントリを構成するには、次のようにします。

<jndiEntry jndiName="myProp/philosopher" value="plato" />

Liberty プロファイルは型推論を行うため、次のように表現した場合:

<jndiEntry jndiName="myProp/philosopher" value="1234" />

JNDI から Number を取得します。これを表現すると:

<jndiEntry jndiName="myProp/philosopher" value="1234.3D" />

あなたはダブルを取得します。

数値を文字列リテラルとして使用する場合は、引用符を使用して表現します。

<jndiEntry jndiName="myProp/philosopher" value='"1234.3D"' />

アプリケーションからこれを取得するには、次のようなグローバル ルックアップを実行できます。

Context ctx = new InitialContext();
Object jndiConstant = ctx.lookup("myProp/philosopher");
String philosopher = (String) jndiConstant;

これを ibm-web-bnd.xml ファイルのリソース環境エントリーにマップすることもできます。

<env-entry name="philosopher" binding-name="myProp/philosopher" />

次に、このコードを使用して検索します。

Context ctx = new InitialContext();
Object jndiConstant = ctx.lookup("java:comp/env/philosopher");
String philosopher = (String) jndiConstant;
于 2013-08-07T13:02:44.683 に答える
1

現在、これは Liberty Profile では不可能です。この質問は、IBM WasDev フォーラム ( https://developer.ibm.com/answers/questions/6221/resource-environment-entries-in-liberty-profile/?community=wasdev ) で回答されています。将来のリリースでサポートするために作成されました。

于 2014-08-11T09:03:39.293 に答える