【发布时间】:2023-03-24 05:18:01
【问题描述】:
如果我创建一个 MessageDriven bean - 我的应用程序中的其他组件是否可以通过 JNDI 使用它?如果是这样,我如何找到/指定要查找的名称?如果这有什么不同,我将部署到 glassfish?
【问题讨论】:
如果我创建一个 MessageDriven bean - 我的应用程序中的其他组件是否可以通过 JNDI 使用它?如果是这样,我如何找到/指定要查找的名称?如果这有什么不同,我将部署到 glassfish?
【问题讨论】:
Java EE 规范(EJB 3.0 的第 21.2.3 章)不需要为 MDB 分配 JNDI 名称:
至少,EJB 容器必须为企业 bean 提供一个 JNDI API 名称空间 实例。当实例调用 javax.naming.InitialContext 默认(无参数)构造函数时,EJB 容器必须使名称空间对实例可用。
- 其他企业 bean 的业务接口
- [...]
MDB 不符合条件,因为它们没有业务接口。此外,由于在另一个 EJB/MDB 中连接 MDB 没有什么意义(顺便说一句,您的用例是什么?),可能在 Glassfish 中被跳过。
我已经看到 WebLogic,for example 允许在其专有的部署描述符中使用它,但我从未使用过它。
【讨论】: