1. 程式人生 > >【java】EJB整體概述

【java】EJB整體概述

·背景

因為在之前的專案中一直在用EJB,有了一定的瞭解和應用基礎。也通過實踐體會到了EJB的強大之處。本篇部落格小編詳細介紹一下EJB的理論知識,並在接下來的時間裡,整理EJB的具體應用系列部落格。

·何為EJB

EJBEnterprise Java Bean,稱為java企業bean,是Java的核心程式碼。EJBsunjavaEE伺服器端元件模型,設計模型與核心應用是部署分散式應用程式。簡單來說,就是把已經編寫好的程式打包放到伺服器上執行。

·EJB特性

能夠重用,一次編寫,到處執行

對服務端計算能夠分而治之

減少了構建企業應用的時間

單執行緒構建

開發者不需要考慮程式碼是否執行緒安全

容器自動進行負載平衡,將請求發到不同的例項進行處理

·三種類型

1EntityBean

實體bean是一個複雜的業務實體,代表資料庫中存在的業務物件。它管理永續性資料的一個物件,有可能使用幾個相關的Java物件,並可以通過主鍵實現唯一性。用@Entity註解,可以把某類指定為實體bean。可以分為容器管理和自我管理兩種型別。

2SessionBean

會話bean通常代表業務流程裡面的操作,執行獨立的,解除耦合的任務。可以根據對話狀態分為有狀態和無狀態兩種型別。後續部落格中將對其進行詳細介紹。

3MessageBean

訊息驅動bean為實現非同步通訊提供了一種比較直接的java訊息服務更簡單的方法。

如下圖所示:


·三個物件

1RemoteLocal)介面

是遠端介面的定義,定義一個遠端介面的時候該介面必須繼承javax.exj.EJBObject。之定義的遠端介面中,可以定義業務方法列表,而這些方法應該丟擲RemoteException異常,並且,在要實現的企業bean中有相應的實現。

2HomeLocalHome)介面

是元件介面,通過該介面中定義的查詢、建立、刪除企業bean類例項的方法列表,可以建立一個EJBObject的物件,從而獲得一個企業bean的例項的應用,然後通過遠端介面,實現方法自定義的功能。

3Bean

EJB是服務端元件。企業bean才是最核心的。

·六個角色(簡單瞭解)

EJB元件開發者(Enterpries Bean Provider

應用組合者(Application Assembler

部署者(Deployer

EJB伺服器提供者(EJB Server Provider

EJB容器提供者(EJB Container Provider

系統管理員(System Administrator

·事務管理

EJB中有兩種使用事務的方式:

1CMTContainer-ManagedTransaction

2BMTBean-ManagedTransaction

在使用事務時,容器會通過bean語句呼叫底層事務系統,從而啟動事務。使用@TransactionAttribute註解課指定事務屬性。EJB常用的事務屬性值有:requiredrequires_newsupportsNotSupportednever等。

·安全機制

基於角色的安全機制。可以通過在配置檔案中定義對映的角色和使用者組實現。