如果我创建一个MessageDriven bean - 我的应用程序中的其他组件是否可以通过JNDI使用它?如果是这样,我如何找到/指定名称来查找它?如果这有什么不同,我正在部署到glassfish?
答案 0 :(得分:0)
Java EE规范(EJB 3.0的第21.2.3章)不要求为MDB分配JNDI名称:
EJB容器必须至少为企业bean提供JNDI API名称空间 实例。当实例调用javax.naming.InitialContext default(no-arg)构造函数时,EJB容器必须使名称空间可用于实例。
- 其他企业bean的业务接口
- [...]
MDB没有资格,因为它们没有业务接口。此外,由于在另一个EJB / MDB中连接MDB几乎没有意义(你的用例是什么,BTW?),可能会在Glassfish中跳过。
我已经看到WebLogic,for example在其专有部署描述符中允许使用它,但我从未使用它。