EJB(Enterprise Java Bean)概述

來源:互聯網
上載者:User

EJB(Enterprise Java Bean)概述

 

一,什麼情況下需要企業Bean

 

企業Bean運行在EJB容器中。企業Bean實際上就是一個封裝了商務邏輯的Java類。

 

需要使用EJB的N個理由:

 

1,分布式!分布式對象之間的相互協作,完成特定的業務功能。分布式對象之間應實現分布透明性(或位置透明性)。即在用戶端代碼中無需指定分布式對象的位置(通過配置來解決)。

2,分布式對象之間的事務支援(RMI不支援事務)。

3,應用程式需要支援不同的用戶端,只需要少量的代碼,就可以讓遠程用戶端訪問到企業Bean。

 

so,如果你的應用需要分布式部署,+分布式對象需要支援事務+關鍵商務邏輯需要能夠支援不同類型的用戶端,那麼EJB將是很好的選擇。

二,EJB的基本分類1,Enterprise Bean

1,Session Bean (會話Bean) :會話Bean可以執行商務邏輯操作,比如註冊使用者,訂單登記,資料庫操作等等。

會話(session):即從用戶端擷取EJB對象開始,然後調用EJB方法(可以多次),直到用戶端生 命周期結束,或用戶端釋放了EJB對象為止,成為一次會話。隨著會話的終止,EJB對象也有可能會被EJB容器銷毀。

對象的狀態:對象的狀態是由其執行個體變數的值組成的。

Stateless Session Bean——無狀態會話Bean

並非是說EJB不能存在狀態,而是說EJB容器不會對EJB的狀態做管理

容器會使用執行個體池的方式,甚至單例的方式來實現無狀態Session Bean

因為EJB容器不會對stateless session bean 的狀態進行管理,所以它的效能要比stateful session bean 的好

Steteful Session Bean——有狀態的會話Bean

有狀態的會話Bean:即EJB能夠為同一個用戶端在多次請求(方法調用)之間保持狀態資訊。

2, Message Driven Bean(MDB)——訊息驅動Bean,基於JMS

2,Persistence——持久化

Entity Bean——實體Bean

三,定義用戶端訪問的介面

用戶端僅通過商務邏輯Bean所定義的介面來訪問商務邏輯(跟具體實現無關)。

當在開發企業Bean之前,首先要做的第一個決定是:EJB要支援什麼樣的用戶端?因為不同 的用戶端,其訪問方式也將不同。

1,遠程用戶端——用戶端與其調用的EJB對象不在同一個JVM進程中

一個遠程用戶端有如下特性:

1,它可以運行在跟企業Bean不同的機器或不同的JVM進程上

2,它可以是web組件,應用用戶端,或其他企業Bean

3,對遠程用戶端來說,企業Bean的位置是透明的

4,為了建立一個能夠被遠程用戶端訪問的企業Bean,必須用@Remote註解來定義這些企業Bean。

2,本地用戶端——用戶端與其調用在同一個JVM進程中

本地用戶端具有如下特性:

1,它必須與企業Bean運行在同一個JVM中

2,它可能是一個Web組件或別的企業Bean

3,為了建立一個能夠被本地訪問的企業Bean,你必須用@Local註解來定義這些企業Bean

4,一個企業Bean介面可以同時被定義為@Remote和@Local

3,WebService用戶端

webservice用戶端可以訪問無狀態會話Bean介面,只有在商務邏輯方法被標識為@webMethod的時候,web service 用戶端才可以訪問到。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.