2011-11-17 116 views
1

如果我创建MessageDriven bean - 它是否可以通过JNDI在我的应用中使用其他组件?如果是这样,我如何找到/指定名称来查找它?如果这有什么区别,我正在部署到glassfish?通过JNDI查找消息驱动Bean

回答

0

用于MDB分配JNDI名称不被Java EE规范(的EJB 3.0章21.2.3)需要:

至少,EJB容器必须向提供一个JNDI API的名称空间企业bean 实例。当实例调用javax.naming.InitialContext默认(无参数)构造函数时,EJB容器必须使名称空间可用于实例。

  • 的其他企业bean的业务接口
  • [...]

MDB没有资格,因为他们没有一个业务接口。另外,由于在另一个EJB/MDB中配置MDB将毫无意义(您的用例是什么,BTW?),可能会在Glassfish中跳过。

我已经看到,WebLogic,for example允许在其专有的部署描述符,但我从来没有使用它。