【发布时间】:2012-08-27 07:42:29
【问题描述】:
我有一个带有以下注释的有状态会话 bean:
@Stateful
@Name("fooBar")
public class FooBarAction implements FooBar {
我注意到有两种方法可以获取我的 FooBar 实例:
接缝查找:
Component.getInstance(FooBarAction.class);
JNDI 查找:
(new InitialContext()).lookup("MYAPP/FooBarAction/local");
当我使用 JNDI 查找时,每次执行查找时,我都会注意到创建了一个新的 FooBar 实例。调用默认构造函数,并使用 setter 方法恢复我的 SFSB 的状态(属性)。
当我使用 Seam 查找时,没有调用默认构造函数,也没有调用 setter 方法。我只有实例。与上一个查找相同的实例。
那么有什么区别呢?最好的使用方法是什么?
【问题讨论】: