實現含特定業務邏輯的業務對象,不直接表現數據庫共享數據,狀態非持久化。業務邏輯由 Bean 實現,遠程訪問、安全、並發、事務由容器提供。
ejbCreate 方法。public,非 static。static 或 void。throws 子句可含 CreateException 及應用異常。create 方法以實例化 Bean。ejbCreate 返回 void)。throws 必含 RemoteException、CreateException。throws 必含 java.rmi.RemoteException。| 特性 | Stateful Session Bean | Stateless Session Bean |
|---|---|---|
| 設計目的 | 維護客戶狀態、表現非持久對象、業務工作流 | 提供伺服端行為、無用戶數據、高性能、批量操作 |
| 適用場景 | 1. 特定存儲業務對象 2. 非持久對象 3. 業務對象間工作流 | 1. 可重用服務對象 2. 高性能需求 3. 一次操作多條記錄 4. 數據訪問邏輯 |
| 狀態管理 | 容器管理會話狀態,支持激活/失活 | 無會話狀態,實例池共享 |
| 性能 | 較低 (狀態維護開銷) | 高 (無狀態、實例複用) |