Websphere应用程序资源

时间:2013-09-10 09:10:41

标签: resources websphere

如何在Web模块中“重新设置”应用程序资源? 我的EAR结构就像(我认为的标准结构):

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

现在,我想要实现的是在应用程序级别定义资源并在每个模块中使用它们。 我尝试过这种配置但没有成功:

application.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-jar.xml上移动资源,以便使用它的EACH ejb ......

任何提示?

由于

1 个答案:

答案 0 :(得分:0)

ibm-application-bnd.xml适用于java:app中定义的java:globalapplication.xml引用,而不是应用程序中任何位置定义的引用。如果要声明单个引用并使所有组件(servlet,EJB等)共享相同的引用,那么该方法可以正常工作。如果您希望每个组件都有唯一的引用,那么您需要单独声明引用并使用ibm-ejb-jar-bnd.xmlibm-web-bnd.xml等中的每个组件绑定。