当前位置: 首页 > 图文教程 > Java技术 > Java基础 > Java基础:EJB创建并使用会话对象

Java基础
Java基础:小编谈代码编写格式
Java基础:小编浅谈Java程序编写规范
Java基础:小编谈Java 文件格式
Java基础:小编谈会话、实体和消息驱动Bean对象
Java基础:小编教大家十进制数转十六进制数的算法
Java基础:EJB创建并使用会话对象
Java基础:浅析Java应用中获取系统属性
Java基础:小编分享构造器与方法的异同
Java基础:小编浅谈JDBC的应用
[JAVA]十四种Java开发工具点评
初学java常用开发工具介绍
Java编程中更新XML文档的常用方法
用Java实现HTTP文件队列下载
Singleton在Java中的应用
Java学习从入门到精通 4方法篇
Java学习从入门到精通 2书籍篇
Java学习从入门到精通 3过程篇
[基础知识]JAVA是什么
Java学习从入门到精通 1工具篇
[基础知识]接触 Java概述

Java基础:EJB创建并使用会话对象


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-26   浏览: 210 ::
收藏到网摘: n/a

下面小编和大家分享的是EJB创建并使用会话对象,希望对大家有所帮助。

主接口定义一个或多个create(...)方法,每个方法定义了一种创建会话对象的方式,create方法的参数用来初始化创建的会话对象的状态。

  下面这个例子演示了有两个create<METHOD>(...)方法的主接口:

  public interface CartHome extends javax.ejb.EJBHome{

   Cart create(String customerName,String account)

    throws RemoteException,BadAccountException,CreateException;

  Cart createLargeCart(String customerName,String account)

   throws RemoteException,BadAccountException,CreateException;}

  下面演示了客户端怎样使用主接口的create<METHOD>(...)方法创建远程对象:

  cartHome.create("John","7506");

  客户端从来不会直接访问会话Bean类的实例。客户端使用会话Bean的远程接口来访问会话Bean的实例。实现会话Bean的远程接口的实例由容器提供,它的实例叫做会话EJBObjects

  会话EJBObject支持:

  ·对象的业务逻辑方法

  会话EJBObject代理对会话Bean实例的业务逻辑方法的调用。

  ·javax.ejb.EJBObject接口定义的方法。这些方法允许客户端:

  ·获取会话对象的主接口

  ·获取会话对象的句柄

  ·测试会话对象是否与另一个是同一个

  ·删除会话对象

  javax.ebj.EJBObject接口中定义的方法是由容器实现的,而并不是由会话Bean类代理的。

  

  客户端使用Cart主接口的create方法创建一个Cart会话对象。客户端使用这个会话对象来填写购物单并购买相关内容。

  假设用户开始购买后终止一两天,然后再去完成.客户端可以通过获取会话对象的句柄,把句柄序列化到持久性的存储器中,然后重新用它来创建最初的Cart来实现。

  对下列例子,开始,在JNDI中查找Cart的主接口,然后使用主接口来创建一个Cart会话对象并加入一些购物项:

  CartHome cartHome = (CartHome)javax.rmi.PortableRemoteObject.narrow{

  initialContext.lookup(...),CartHome.class);

  Cart cart = cartHome.createLargeCart(...);

  cart.addItem(66);

  cart.addItem(22);

  下面我们决定稍候完成这次购物,因此要序列化这个Cart会话对象的句柄并把它存在一个文件里:

  Handle cartHandle = cart.getHandle();

  //serialize cartHandle,store in a file...

  最后我们从文件中反序列化句柄,并重新创建cart会话对象的引用,并购买购物单里的商品:

  Handle cartHandle = ...;//deserialize from a file...

  Cart cart = (Cart)javax.rmi.PortableRemoteObject.narrow

  cartHandle.getEJBObject(),Cart.class);

  cart.purchase();

  cart.remove();