2

在 EJb 2.0 中,在 ejb-jar.xml 中,曾经有以下条目:

<ejb-ref>
<ejb-ref-name>ejb/fooremote</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<remote>test.FooRemoteIF</remote>
</ejb-ref>

在带有注解的 ejb3.0 中,我们用 @Remote 代替<remote>@Statelessfor<ejb-ref-type>.但是在带注解的 bean 接口中,我没有看到任何 JNDI 声明 for <ejb-ref-name>。那么客户端如何知道 EJb 接口的 jndi 名称

4

1 回答 1

3

@EJB(name="...")相当于<ejb-ref-name>。也就是说,如果您注释一个字段或方法以进行注入,那么您根本不需要查找无状态会话 bean。您仍然需要有状态会话 bean 的 JNDI 名称,因此我的建议是类级别(如果您有多个,则@EJB(name="...")可能在一个内)。@EJBs

于 2013-07-12T11:02:01.080 回答