Websphere在EAR中更改JNDI名称

时间:2018-08-20 15:15:28

标签: java ejb websphere jndi ear

我有一个遗留的EJB 2应用程序,我将其部署到Websphere 8.5。该应用程序具有依赖关系,这些依赖关系在/META-INF/ejb-jar.xml和/META-INF/ibm-ejb-jar-bnd.xml中定义了到数据源的JNDI绑定。

不允许我更改那些依赖项中的代码,也不能更改Websphere的配置。但是我可以更改jar文件中的配置文件。

我想在我的应用程序中覆盖有效的JNDI绑定。是否可以定义将添加到Ear的文件以覆盖这些绑定?

ejb-jar.xml的片段:

<resource-ref id="ResourceRef_1248968390265">
  <res-ref-name>jdbc/CentralDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
  <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

ibm-ejb-jar-bnd.xml:

<session name="FooJob">
    <resource-ref name="jdbc/CentralDS" binding-name="jdbc/VeryCentralDs" />
</session>

是否可以在某个地方覆盖此JNDI名称(VeryCentralDs)?     

1 个答案:

答案 0 :(得分:0)

是的,可以在部署时覆盖资源引用绑定。 knowledge center article逐步完成了部署应用程序的步骤。注意here中记录的“将资源引用映射到资源”步骤。在此处可以填写要将资源引用绑定到的目标JNDI名称。