2

Webモジュールでアプリケーションリソースを「編集」するにはどうすればよいですか? 私のEAR構造は次のようなものです(私が思う標準構造):

EAR
+-----Web Module
+-----EJB Module
+-----Utility JAR Module

今、私が達成したいのは、アプリケーション レベルでリソースを定義し、それらをすべてのモジュールで使用することです。この構成で試してみましたが、成功しませんでした:

アプリケーション.xml

...
<resource-ref>  
   <description>my file properties</description>
    <res-ref-name>url/myUrl</res-ref-name>
    <res-type>java.net.URL</res-type>
    <res-sharing-scope>Shareable</res-sharing-scope> 
</resource-ref>

ibm-application-bnd.xml

...
<resource-ref name="url/realJndiName" binding-name="url/myUrl" />

Web モジュール クラス

@WebService
public class MyClass {
     @Resource(name="url/myUrl")
     URL myUrl;

     ....
}

しかし、注射は失敗します。これはどのように行うべきですか?もちろん、app.xml でリソース定義を (そのバインディングと共に) 移動すると、すべてが機能しますが、それを使用する各 ejb の ejb-jar.xml でもリソースを移動する必要があります...

ヒントはありますか?

ありがとう

4

1 に答える 1

0

ibm-application-bnd.xmlアプリケーション内のどこかで定義された参照ではなく、 で定義された参照を対象java:appとしています。単一の参照を宣言し、すべてのコンポーネント (サーブレット、EJB など) が同じ参照を共有する場合、この方法はうまく機能します。各コンポーネントに一意の参照を持たせたい場合は、参照を個別に宣言し、、 などでコンポーネントごとのバインディングを使用する必要があります。java:globalapplication.xmlibm-ejb-jar-bnd.xmlibm-web-bnd.xml

于 2013-09-11T05:20:23.490 に答える