會話Bean


     會話Bean是可以被客戶端直接調用的EJB組件。客戶端可以是Web應用程序組件(JSP、JSF、Servlet),也可以是命令行或Swing GUI桌面應用程序。那麼什麼事會話Bean、如何開發一個無狀態會話bean、開發一個有狀態會話bean、EJB調用機制和會話bean生命週期是什麼,等。

1、會話Bean

     會話Bean是一個用於處理Java EE程序業務邏輯的EJB組件,主要用於編寫業務邏輯,維持客戶端的會話狀態,以及模擬一個或多個業務操作的後臺處理或用戶任務。簡而言之:會話就是在有線的時間週期內,客戶端和服務器之間的連接。

     會話Bean又可以分爲無狀態會話Bean和有狀態會話Bean。以滿足不同的應用需要。

     在開發上,所有的會話Bean都分爲兩部分,一個是接口,一個是Bean實例類。其中接口可以分爲本地接口和遠程接口。客戶端不能直接訪問Bean實現類,而是通過業務接口使用會話Bean。

     如下簡圖:

                               簡圖1-1

       會話Bean具有以下一些特徵:

  • 併發和線程安全
  • 遠程處理和Web服務
  • 事務和安全管理
  • 計時器服務和攔截器

        與所有的EJB3.0 bean一樣,會話bean也是遵守某些規則的POJO。下面是應用於所有會話bean的設計規則:

  • 會話bean必須至少一個業務接口(本地的、遠程的,或同時提供這兩個)
  • 會話bean實現類必須是具體的。
  • bean實現類中必須具有無參的構造方法。
  • 會話bean類可以是另一個會話bean或其他POJO的子類。
  • 可以在bean類或者超類中定義業務方法和生命週期回調方法。
  • 業務方法名稱不能以ejb開頭。

        在EJB3.0中,不要求同時實現遠程和本地接口,但實現同時實現兩者是比較好的做法。其優點如下:

  • 遠程接口(remote interface)定義了會話bean的業務方法,這些方法可以被來自EJB容器之外的應用訪問。
  • 本地接口(local interface)同樣定義了會話bean的業務方法,這些方法可以被同處於EJB容器內的其他應用使用。因爲local接口允許bean之間直接通過內存交互,沒有分佈式對象協議的開銷,從而改善了性能。

2、無狀態會話bean與有狀態會話bean的不同

        維護會話狀態的bean會存儲前一次信息交換的數據,它就是有狀態會話bean。無狀態會話bean不需要維護任何狀態和數據信息。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章