【问题标题】:Websphere change JNDI name in EARWebsphere 在 EAR 中更改 JNDI 名称
【发布时间】:2018-08-20 15:15:28
【问题描述】:

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

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

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

ejb-jar.xml的sn-p:

<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)?

【问题讨论】:

  • 不确定您到底需要什么? web.xml resource-ref/res-ref-name 在您的代码中引用,ibm-web-bnd.xml 用于与 WAS 服务器定义的 JNDI 资源绑定:web-bnd/resource-ref.name(列出在 web.xml 中),它的 resource-ref.binding-name 定义为 WAS JNDI 资源

标签: java ejb websphere jndi ear


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2019-01-29
    • 2018-03-02
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多