3

状态 ejb 旨在实现幂等性,并且不存储以前的用户交互。这对我来说听起来像是一种静态方法。

所以而不是拥有

 public void save(Entity e) { em.persist(e); }

安全吗

 public static void save(Entity e) { em.persist(e); }

在 EJB 中?

4

1 回答 1

4

不,因为静态方法不参与容器管理的事务、AOP、安全等。顺便说一句,您的第二个示例不会编译,em是由应用程序服务器注入的,它不能是静态的(?)

也没有这样的要求,即无状态 EJB 应该是幂等的并且没有状态(尽管有名称)。更不用说一旦你开始使用static方法,你就根本不需要 EJB...

于 2012-11-02T19:58:26.927 回答