【发布时间】:2012-11-02 19:49:53
【问题描述】:
Stateles ejb 旨在实现幂等性,并且不记忆以前的用户交互。对我来说,这听起来像是一种静态方法。
所以 而不是拥有
public void save(Entity e) { em.persist(e); }
安全吗
public static void save(Entity e) { em.persist(e); }
在 EJB 中?
【问题讨论】:
Stateles ejb 旨在实现幂等性,并且不记忆以前的用户交互。对我来说,这听起来像是一种静态方法。
所以 而不是拥有
public void save(Entity e) { em.persist(e); }
安全吗
public static void save(Entity e) { em.persist(e); }
在 EJB 中?
【问题讨论】:
不,因为静态方法不参与容器管理的事务、AOP、安全等。顺便说一句,您的第二个示例不会编译,em 是由应用程序服务器注入的,它不能是静态的(? )
也没有这样的要求,即无状态 EJB 应该是幂等的并且没有状态(尽管有名称)。更不用说一旦你开始使用static 方法,你就根本不需要 EJB...
【讨论】: