【问题标题】:Understand ejb-link markup了解 ejb 链接标记
【发布时间】:2012-01-30 15:53:24
【问题描述】:

我阅读了这篇关于 EJB-JNDI 映射最佳实践的精彩文章:

http://www.ibm.com/developerworks/websphere/library/bestpractices/increase_app_portability.html

我不清楚 ejb-link 的概念。

例如,假设我们有一个包含以下内容的 ejb-jar.xml:

<ejb-ref>
   <ejb-ref-name>ejb/Bean2Home</ejb-ref-name>
   <ejb-ref-type>Entity</ejb-ref-type>
   <home>com.ibm.wsc.Bean2Home</home>
   <remote>com.ibm.wsc.Bean2</remote>
   <ejb-link>Bean2</ejb-link>
</ejb-ref>

因此,精确的目标 EJB 组件是 Bean2,这个简单的符号意味着 Bean2 必须在这个 J2EE 应用程序包或 .ear 文件中找到。

那么,如果 ejb-link 标记足以指示链接到良好 EJB 组件的正确方法,那么汇编程序需要为此 ejb-ref 创建一个 JNDI 名称吗?

真的有用吗?

【问题讨论】:

    标签: java jakarta-ee jboss ejb jndi


    【解决方案1】:

    这里有一些场景希望能阐明为什么&lt;ejb-link/&gt;(或@EJB(beanName="..."))和EJB ref 绑定既有用又互补:

    1. 应用程序本身可以在逻辑上分解为组件,并且开发人员选择使用 EJB 来实现这些组件。在这种情况下,应用程序开发人员知道客户端想要使用的目标 EJB 组件。如果有多个组件实现同一个接口,则需要进行一些消歧,可以使用&lt;ejb-link/&gt;

    2. 应用程序依赖于外部服务。在这种情况下,应用程序知道它依赖于外部服务,因此无法使用&lt;ejb-link/&gt;,因为同一应用程序中不存在服务实现。

    3. 应用程序依赖于外部服务,但在同一应用程序中提供了最小实现。在这种情况下,开发人员可能会像 #1 中那样使用 &lt;ejb-link/&gt;,但部署者可以像 #2 中那样灵活地覆盖该选择。

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-14
      • 1970-01-01
      • 1970-01-01
      • 2021-09-26
      相关资源
      最近更新 更多