| 實現介面 | implements javax.ejb.SessionBean | 提供生命週期回調 |
| 類別修飾符 | public,非 final、非 abstract | 容器需反射實例化 |
| 建構子 | public 無參建構子 | 容器 Class.newInstance() |
| finalize() | 禁止 實作 | 清理邏輯放 ejbRemove()/ejbPassivate() |
| 業務方法 | 實現 Remote 介面所有方法;對應 Home 每個 create 有 ejbCreate | 方法簽名一致,但不拋出 RemoteException |
| 方法修飾符 | public,非 static、非 final | |
| 參數/回傳型別 | RMI-IIOP 合法型別:基本型別、Serializable 物件、Remote 介面 | |
| 方法命名 | 不可 ejb 開頭 | 避免與容器回調衝突 |
| 異常處理 | 業務異常拋出自訂 Exception;系統級錯誤拋出 javax.ejb.EJBException (RuntimeException) | 不可拋出 java.rmi.RemoteException |
| 實現 Remote 介面 | 可選 (建議不實現) | 實現可編譯期檢查漏寫方法,但易誤用 this 代替 context.getEJBObject() 導致運行時錯 |
| 實現 SessionSynchronization | 可選 | 需容器管理事務 (CMT) 且為 Stateful Bean,接收事務邊界回調 |
| 繼承其他類 | 允許 | 父類可為另一 Bean 實現類 |
| Helper 方法 | 允許任意修飾符/參數/回傳 | 非介面一部分,容器不管 |