0

我无法理解为什么在所有指南中都写使用这个:

SayHiRemote sayHiRemote = InitialContext
            .<SayHiHomeRemote> doLookup(SayHiHomeRemote.JNDI_GLOBAL_NAME)
            .create();
sayHiRemote.hi();

而不仅仅是:

SayHiRemote sayHiRemote = InitialContext
            .<SayHiRemote> doLookup(SayHiRemote.JNDI_GLOBAL_NAME);
sayHiRemote.hi();

如果不需要参数(无状态会话 Bean),“create()”方法有什么好处?

4

1 回答 1

0

在 EJB 3 之前,不可能直接查找无状态会话 bean。除了与其他 bean 类型保持一致之外没有其他真正的好处,这就是它在 EJB 3 中被删除的原因。

有状态会话 bean 仍然有一个好处,因为 create 方法是工厂方法,所以如果您切换到 EJB,您将失去类型安全性(cast 与 create() 返回类型)并且取决于 JNDI 与 home 的相对速度。 create(),你可能会失去一些性能。

于 2013-09-17T18:12:04.470 回答