1. 程式人生 > >對EJB2.1幾種介面的認識

對EJB2.1幾種介面的認識

        因為教學上的需要,重新梳理了下EJB幾種介面的職能,講的是EJB3,雖然按照課件也能做出一個執行良好的EJB程式來,但是要想比較好的理解EJB3的工作原理,只知道這些註解還是不夠的,特別是涉及到的介面(home和remote)。

        以下對這些介面做了一些總結:        

Home介面

EJBHome:負責建立遠端EJB物件(即實現了EJBObject介面的Remote物件)

public interface HaiRemoteHome extends EJBHome
{
    HaiRemote create() throws RemoteException, CreateException;
}

EJBLocalHome:負責建立本地EJB物件(即實現了EJBLocalObject介面的Remote物件)

Remote介面:裡面定義我們的業務方法

EJBObject : 僅用於遠端呼叫的業務介面

public interface HaiRemote extends EJBObject
{
    String sayHai() throws RemoteException;
}

EJBLocalObject : 僅用於本地呼叫的業務介面

SessionBean

會話bean:定義Bean的生命週期方法和實現Remote介面中定義的方法

public class HaiBean implements SessionBean
{
    public void setSessionContext(SessionContext arg0) throws EJBException, RemoteException
    {
        System.out.println("set session context");
    }
    
    public void ejbCreate() throws EJBException
    {
        System.out.println("ejb create");
    }

    public void ejbRemove() throws EJBException, RemoteException
    {
        System.out.println("ejb remove");
    }

    public void ejbActivate() throws EJBException, RemoteException
    {
        System.out.println("ejb activate");
    }

    public void ejbPassivate() throws EJBException, RemoteException
    {
        System.out.println("ejb passivate");
    }

    public String sayHai() throws RemoteException
    {
        return "Hai, EJB 2!";
    }
}