国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

循速漸進(jìn)學(xué)用Session Bean(三)

2019-11-17 06:13:36
字體:
供稿:網(wǎng)友
  創(chuàng)建無狀態(tài)的session Bean

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

  在HelloWorldSession的例子中,該bean在方法調(diào)用之間仍記得一個(gè)問候的字符串。例如,你調(diào)用setGreeting來修改歡迎詞,當(dāng)你調(diào)用getGreeting時(shí),該session會(huì)記得保存的歡迎詞。

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

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;

}

  在這個(gè)例子中,Remote接口僅提供了一個(gè)greet方法,該方法接收一個(gè)參數(shù)并且返回一個(gè)歡迎詞。例如,假如傳送“World”參數(shù)給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;

}

進(jìn)入討論組討論。

  無狀態(tài)的session bean僅擁有一個(gè)create方法,而且該方法不能接受任何參數(shù)。這看起來有些希奇,不過假如考慮到無狀態(tài)session bean的含義你就會(huì)明白了。這種bean不能記住某個(gè)客戶的任何信息,實(shí)際上,為了性能上的原因,容器也許會(huì)不時(shí)地讓不同的session處理某個(gè)客戶的方法調(diào)用。由于session并不需要記住某個(gè)客戶的信息,因此使用另一個(gè)bean來處理負(fù)載并不會(huì)帶來任何問題。

  假如bean的create方法接受任何的參數(shù),session bean實(shí)例之間的行為將會(huì)有所不同,因?yàn)槟銥閏reate方法提供不同的值。

  實(shí)現(xiàn)無狀態(tài)session bean與有狀態(tài)的session bean是一樣簡(jiǎn)單的。列表7中的是StatelessHelloImpl類,它實(shí)現(xiàn)了Remote和Home接口。

Listing 6.7 Source Code for StatelessHelloImpl.java
package usingj2ee.hello;

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

/** The implementation class for the StatelessHello bean */

public class StatelessHelloImpl implements SessionBean
{
/** The session context PRovided by the EJB container. A session bean must
hold on to the context it is given. */
private SessionContext context;

/** An EJB must have a public, parameterless constrUCtor */

public StatelessHelloImpl()
{
}

/** Called by the EJB container to set this session's context */

public void setSessionContext(SessionContext aContext)
{
context = aContext;


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 崇明县| 邹城市| 哈尔滨市| 兴宁市| 建始县| 丘北县| 杨浦区| 长垣县| 濉溪县| 祥云县| 长治市| 客服| 伊金霍洛旗| 景泰县| 二连浩特市| 巫溪县| 曲松县| 西平县| 邓州市| 金山区| 喀喇| 杂多县| 宜昌市| 台东市| 当雄县| 商河县| 延津县| 永德县| 盘锦市| 庆城县| 通州市| 鹿邑县| 沾益县| 辽宁省| 武宁县| 平乐县| 东阳市| 阿巴嘎旗| 磴口县| 同德县| 浮梁县|