top
Loading...
循速漸進學用SessionBean(三)
創建無狀態的Session Bean

從編程的角度看,創建無狀態的Session Bean和創建有狀態的是一樣簡單的。除了在配置工具里修改一個設置外,僅有的一點不同是在bean的初始設計階段,無狀態的Session Bean并不記得方法調用之間的任何東西,bean需要的任何消息都必須由客戶端獲得。雖然無狀態的Session Bean并不記得面向session的數據,不過可以在一個無狀態的session bean中存放數據,只是不能存放與客戶端相關的數據。

在HelloWorldSession的例子中,該bean在方法調用之間仍記得一個問候的字符串。例如,你調用setGreeting來修改歡迎詞,當你調用getGreeting時,該session會記得保存的歡迎詞。

列表6.5“Hello World”session bean Remote 接口(無狀態版本)

Listing 6.5 Source Code for StatelessHello.java
package usingj2ee.hello;

import java.rmi.*;
import javax.ejb.*;

/** Defines the methods you can call on a StatelessHello object */

public interface StatelessHello extends EJBObject
{

/** Returns a greeting for the named object */
public String greet(String thingToGreet) throws RemoteException;

}

在這個例子中,Remote接口僅提供了一個greet方法,該方法接收一個參數并且返回一個歡迎詞。例如,如果傳送“World”參數給greet,greet方法將返回“Hello World!”。

列表6.6展示了StatelessHello bean的Home接口。

Listing 6.6 Source Code for StatelessHelloHome.java
package usingj2ee.hello;

import java.rmi.*;
import javax.ejb.*;

/** Defines the methods for creating a StatelessHelloWorld */

public interface StatelessHelloHome extends EJBHome
{

/** Creates a StatelessHello session bean. A stateless session bean
can't have a create method that takes parameters. */
public StatelessHello create() throws RemoteException, CreateException;

}

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗