1

现在,在 EJB 3.1 中,我们可以找到 javax.ejb.Singleton 注释,它可以确保这个 bean 将是单例的。

有没有一种方法可以确保在 EJB 3.0 中使用无状态 bean 并在我的代码中进行一些修改(使用关键字 static 或其他方式来做到这一点......)

4

2 回答 2

8

如果您能够将@Statelessbean 池大小限制为 1,那么您可以非常接近@Singleton.

效果就像拥有一个@Lock(WRITE)用于所有调用的@Singleton(即没有并发)并且不会急切地通过@Startup它将在第一次访问时启动)。

@Startup如果您的平台可以选择急切地填充@Statelessbean 池,您可能仍然可以获得效果。

于 2010-10-12T00:06:31.113 回答
1

有没有一种方法可以确保在 EJB 3.0 中使用无状态 bean 并在我的代码中进行一些修改(使用关键字 static 或其他方式来做到这一点......)

不,没有标准。不过,您的容器可能会提供一些特定的扩展(例如,JBoss 有一个专有@Service注释)。

于 2010-10-02T23:13:05.080 回答