工作后无国籍国家被清除了吗?

时间:2014-08-12 07:55:08

标签: java java-ee ejb

我有一个无状态EJB:

@Stateless
public class DefaultStatelessService implements StatelessService {

    private Object o;

}

我在几个私有方法中使用provate字段o。问题是:在无国籍人完成工作后,其状态是否会被清除?

例如:

  1. 无状态实例已从池中获取。
  2. 在无国籍工作期间,私人领域o的状态已发生变化。
  3. 无状态实例已返回池中。
  4. 其他一些操作采用相同的无状态实例并希望使用它 - 对象o处于与之前相同的状态还是已被清除?

1 个答案:

答案 0 :(得分:1)

在方法调用之间,不能依赖存储在无状态会话bean中的任何状态。

某些容器实现可能甚至不打算使用池 - 它每次只会为您提供一个新实例。

在您的示例中,没有任何内容会明确地清除“o”,但很可能会丢弃整个bean实例。