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-应用程序-bnd.xml

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

网络模块类

@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:appjava:global定义的引用application.xml,而不是应用程序中任何地方定义的引用。如果您想声明单个引用并让所有组件(servlet、EJB 等)共享相同的引用,那么这种方法可以正常工作。如果您希望每个组件都有一个唯一的引用,那么您需要单独声明引用并在 、 等中使用每个组件的ibm-ejb-jar-bnd.xml绑定ibm-web-bnd.xml

于 2013-09-11T05:20:23.490 回答