理解 EJB 組件----Home 介面

來源:互聯網
上載者:User

你現在應該已經熟悉了整個 EJB 體繫結構及其主要的組件。這一節更詳細地描述了這些
組件,並解釋它們運行時的行為語意。


Home 介面
EJB 庫使用enterprise bean 的用戶端通過它的home 介面建立它的執行個體。Home 介面包含一
個或多個用來建立 enterprise bean 執行個體的create()方法。這個home 介面不是由bean 來
實現,而是通過稱為 home object 的類來實現。一個home object 的執行個體在伺服器中執行個體
化,使得用戶端可以訪問它們。
定位 home object 一個home object 的引用被放在名字服務中,用戶端能通過JNDI 訪問
它。EJB 伺服器一般提供某種名字空間的實現,雖然有時可以使用外部的名字空間。在
這兩種情況下用戶端都必須知道名字空間的位置以及 JNDI 的上下文類。例如,一個客戶
端的 applet 可能接收名字空間和JNDI 上下文類作為applet 的參數。

 

除了提供位置和類名,用戶端也必須知道在名字樹中定位home object.這些必須在客戶
端啟動時提供。當部署者把 enterprise bean 部署進EJB 伺服器中時,他必須可以以參數
形式指定名字樹,如 ejb/accounting/AccountsPayable.用戶端必須獲得這個完整的路
徑名來定位並獲得 AccountsPayable home object 的引用。並不是說用戶端通過JNDI 獲
得容器。用戶端使用 JNDI 尋找home 介面的實現。Home 介面的實現由某個特殊的
container 來提供,但這是該容器廠商的細節,enterprise bean 開發人員和用戶端應該忽
略它。
Home 介面中的方法


Enterprise bean 開發人員定義ejbCreate()方法的同時必須在home 介面中聲明與其相應的
create()方法。實體bean 可以包含finder 方法以使得用戶端能定位已有的實體bean.
Home 介面是通過繼承javax.ejb.EJBHome 來定義的。該介面包含如下的方法:

public interface javax.ejb.EJBHome extends Remote {


public EJBMetaData getEJBMetaData() throws RemoteException;


public void remove(Handle handle) throws

RemoteException,RemoveException;


public void remove(Object primaryKey) throws
RemoteException,RemoveException;


一個 bean 的home 介面可以象下面這樣:


public interface myHome extends EJBHome {
public myRem create() throws RemoteException,CreateException;
public myRem create(String str) throws
RemoteException,CreateException;

其中
public interface myRem extends EJBObject { … }
容器開發商負責提供實現 home 介面的home 對象,因為只有開發商才能實現存貯
enterprise bean 的庫的編碼。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.