程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JavaBeans:Bean容器的規約

JavaBeans:Bean容器的規約

編輯:關於JAVA

我們常把EJB服務器中圍繞 bean的周邊環境稱之為容器。容器更像是一個概念,而非物理構件(physical construct)。它充當bean和EJB服務器之間的中介,管理著EJB對象並幫助服務器構件管理bean資源,它還提供諸如事務,安全,並發和運行期命名(naming at runtime)之類的服務。容器與服務器之間的區別並沒有明確的界定,但是EJB規范根據容器的職責定義了組件模型,因而此處我們將遵循這一約定。

Enterprise bean組件通過定義良好的組件模型與EJB容器進行交互。各類EJB都可以注冊由EJB容器產生的各種生命周期事件。它們通過為bean class的方法添加注解的方式來注冊感興趣的特定事件。在運行期間,當相關事件發生時,容器會調用bean實例上這些被注解了的方法。例如,當分配了EJB實例並將被引用的服務注入其中之後,假如提供了EJB的bean class,容器便會調用該bean class上標注了@javax.annotation. PostConstruct的方法。該調用為bean實例提供了機會,使其可以在為請求提供服務之前,做一些額外的初始化工作。Bean class也可以以同樣的方式使用其他回調函數。EJB規定了何時調用這些回調方法,以及在其上下文中能做些什麼。

在EJB 3.0中,你的代碼不用像以前版本的EJB規范那樣必須實現一個空的回調函數。你只為那些感興趣的事件編寫代碼。實現回調方法的bean通常會訪問不受EJB系統管理的資源,封裝了遺留系統的enterprise bean通常歸於此類。

javax.ejb.EJBContext 是一個由容器實現的接口,同時也是bean容器規約的組成部分。Session bean使用一個叫做javax.ejb.SessionContext的子類。Message-driven bean則使用javax.ejb.MessageDrivenContext子類。這些EJBContext類型為bean提供了其所在環境的相關信息,內容涉及:容器,使用enterprise bean的客戶端,以及bean本身。Bean可以在處理來自客戶端的請求和來自容器的回調方法時使用這些信息。

除此以外,enterprise bean的接口還包含了JNDI名字空間,我們稱其為環境命名上下文(environment-naming context),bean可以用它來查找所需的資源(包括其他的bean)。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved