@Resource 上的查找属性是否替代了 ibm-ejb-jar-bnd.xml?

Is the lookup attribute on @Resource a replacement for ibm-ejb-jar-bnd.xml?

我尝试在互联网上搜索,但找不到明确的答案:

正在使用

@Resource(name="abc", lookup="myJndiName")
private Queue myQueue;

在 EJB 3.1 会话 bean 中相当于

@Resource(name="abc")
private Queue myQueue;

没有查找但有 ibm-ejb-jar-bnd.xml:

中的条目
<session name="StatelessBean">
    <resource-env-ref name="abc" binding-name="myJndiName"/>
</session>

?

即如果我使用 lookup 属性,那么我就不必再指定 resource-env-ref 了?

是的,lookup 属性在功能上等同于在 ibm-ejb-jar-bnd.xml 中指定值,但不能完全替代。如果在 ibm-ejb-jar-bnd.xml 中指定了一个值,它将覆盖在 'lookup' 属性上提供的值。 ibm-ejb-jar-bnd.xml 仍然有用,因为它允许在不重新编译应用程序的情况下更改绑定。