3
Stateles ejbs旨在是冪等的,並且沒有以前用戶交互的記憶。這聽起來像是一個靜態的方法給我。在無狀態ejbs中使用靜態方法有意義嗎?
所以 而不必
public void save(Entity e) { em.persist(e); }
是安全的有
public static void save(Entity e) { em.persist(e); }
EJB裏?
Stateles ejbs旨在是冪等的,並且沒有以前用戶交互的記憶。這聽起來像是一個靜態的方法給我。在無狀態ejbs中使用靜態方法有意義嗎?
所以 而不必
public void save(Entity e) { em.persist(e); }
是安全的有
public static void save(Entity e) { em.persist(e); }
EJB裏?
不,因爲靜態方法不參與容器管理的事務,AOP,安全等等。順便說下你的第二個例子不會編譯,em
是由應用服務器注入的,它不能是靜態的(?)
也沒有這樣的要求,無狀態的EJB應該是冪等的,沒有狀態(儘管名稱)。更不用說,一旦你開始使用static
方法,你根本不需要EJB ......