一個"Hello World"Session Bean
EnterPRise javaBean的結構在開始的時候比較難理解,不過只要你用過一下,EJB也不是太難。幸運的是,你可以無需涉及數據庫連接或者是事務,就可以熟悉基本的EJB結構。要做到這一點,可以由最有名的"Hello World"bean開始。
當你在設計EJB應用的時候,你可能不知道是先由bean開始然后再創建接口,或者先由接口開始然后創建bean。我建議你最好由接口開始。因為假如你不知道客戶如何使用bean,你就無需編寫它。
創建Remote接口
列表6.1展示的是HelloWorldSession接口,它是"Hello World" session bean的Remote接口。
Listing 6.1 Source Code for HelloWorldSession.java
package usingj2ee.hello;
import java.rmi.*;
import javax.ejb.*;
/** Defines the methods you can call on a HelloWorldSession object */
public interface HelloWorldSession extends EJBObject
{
/** Returns the session's greeting */
public String getGreeting() throws RemoteException;
/** Changes the session's greeting */
public void setGreeting(String aGreeting) throws RemoteException;
}
創建Home接口
一個session bean的Home接口包含有創建新session的方法。對于"Hello World"例子,有兩個不同的create方法,一個沒有參數,而另一個答應你提供自己的歡迎詞。列表6.2展示了HelloWorldSessionHome接口。
Listing 6.2 Source Code for HelloWorldSessionHome.java
package usingj2ee.hello;
import java.rmi.*;
import javax.ejb.*;
/** Defines the methods for creating a HelloWorldSession */
public interface HelloWorldSessionHome extends EJBHome
{
/** Creates a HelloWorldSession bean with default settings */
public HelloWorldSession create() throws RemoteException, CreateException;
/** Creates a HelloWorldSession bean with a specific initial greeting */
public HelloWorldSession create(String aGreeting)
throws RemoteException, CreateException;
}
注重
要記住的是容器調用這些方法。當使用Home接口的方法來創建一個新的EJB時,容器最終會調用ejbCreate方法。同樣,當刪除一個bean時,容器將會調用ejbRemove方法來告訴bean它已經被移除。
新聞熱點
疑難解答