外部 jar を (ロギング目的で) 使用する Java EE アプリケーションがありますが、JNDI ルックアップを使用して jar 自体で解決される構成用の URL が必要です。
説明の例:
LoggingLib.jar: -> LoggingFactory.java
public void resolveJndi(){
Context ctx = new InitialContext();
URL myConf = ctx.lookup('url/myConf');
}
この lib は実際のアプリ EAR ファイルに含まれており、アプリケーションのさまざまなクラス (Web モジュール、ejb モジュール、さらには JPA クラスを含む別の jar) で呼び出されます。
jndi 名 'url/myConf' が存在する場合はすべて機能しますが、展開時に指定された個人用の名前にマップする必要があります。他のリソースについては、ibm バインディングを使用してこの問題を解決しました。デプロイ時に、これらのリソースの実際の jndi 名はどれかを尋ねられます。このようにして、ソフトウェアと構成の間に分離があります。アプリケーションは java:comp/env/url/myConf を探しますが、サーバーはそれを実際の名前で解決します。application.xml と ibm-application-bnd.xml で同じことを試みましたが、成功しませんでした。
この種の参照を行う正しい方法は何ですか?