首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2EE

EJB 編程規範詳解:Session Bean 開發規則與選型指南

     編輯:J2EE

Session Bean 定位

實現含特定業務邏輯的業務對象,不直接表現數據庫共享數據,狀態非持久化。業務邏輯由 Bean 實現,遠程訪問、安全、並發、事務由容器提供。

編寫企業 Bean 類規則

  1. 可有一個或多個 ejbCreate 方法。
  2. 方法必須 public,非 static。
  3. 參數為合法 Java RMI 類型,修飾符非 static 或 void。
  4. throws 子句可含 CreateException 及應用異常。
  5. 方法簽名不得與 EJB 結構定義衝突。

Home 接口規則

  • 定義客戶調用的 create 方法以實例化 Bean。
  • 參數/返回類型為 RMI 類型;返回 Remote 接口類型 (ejbCreate 返回 void)。
  • throws 必含 RemoteException、CreateException。

Remote 接口規則

  • 定義客戶可調用業務方法,與 Bean 類實現方法一一對應、簽名相同。
  • 參數/返回類型為有效 RMI 類型。
  • throws 必含 java.rmi.RemoteException。

Stateful vs Stateless 選型指南

特性Stateful Session BeanStateless Session Bean
設計目的維護客戶狀態、表現非持久對象、業務工作流提供伺服端行為、無用戶數據、高性能、批量操作
適用場景1. 特定存儲業務對象
2. 非持久對象
3. 業務對象間工作流
1. 可重用服務對象
2. 高性能需求
3. 一次操作多條記錄
4. 數據訪問邏輯
狀態管理容器管理會話狀態,支持激活/失活無會話狀態,實例池共享
性能較低 (狀態維護開銷)高 (無狀態、實例複用)

決策建議

  • 需維護用戶會話狀態 (如購物車、向導式流程) → Stateful。
  • 無會話狀態、高併發、可重用服務 (如查詢、計算、批量處理) → Stateless。
  • Stateless 可聲明為單例池,容器自動分配給任意客戶。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved