EJB中@Resource注释的mappedName和lookup属性有什么区别?

Man*_*aik 6 ejb jndi java-ee java-ee-6 ejb-3.1

我在@Resource注释的两个属性之间感到困惑.

Java Documentations说:
mappedName:此资源应映射到的产品特定名称.由name元素或defaultaulted定义的此资源的名称是使用资源的应用程序组件的本地名称.(它是JNDI java:comp/env命名空间中的名称.)许多应用程序服务器提供了将这些本地名称映射到应用程序服务器已知资源名称的方法.此映射名称通常是全局JNDI名称,但可以是任何表单的名称.
lookup:引用指向的资源的名称.它可以使用全局JNDI名称链接到任何兼容的资源.

我的问题是如何根据什么标准在mappedNamelookup之间进行选择?

Gas*_*Gas 9

正如它所说的那样mappedName是产品特定的,许多应用服务器都不支持.所以现在你应该使用lookup它,因为它应该是便携式和跨平台的.您指定给定资源的全局JNDI.