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

Java基础
java基础:小编浅谈java对象
Java基础:孙鑫谈Java中文乱码问题产生原因分析(一)
Java基础:孙鑫谈Java中文乱码问题产生原因分析(二)
Java基础:小编谈JDBC
Java基础:小编详谈Java编码规则并不是老生常谈
Java基础:小编详谈AOP概念
Java基础:小编谈java多维数组
Java基础:小编谈Javascript之DOM的使用(25条)
Java基础:小编杂谈动态语言
Java基础:程序员之家七月份Java基础总结
Java基础:XHTML中css+div布局(经典8条)
Java基础:小编浅谈Spring基于三大模板的Web表示层技术
Java基础:浅谈多线程那点事
Javai基础:浅谈封装的那些事
Java基础:小编浅谈JavaScript中自定义函数那些事
Java基础:小编谈JavaScript中使用原型来创建对象
Java基础:CSS那些事
Java基础:小编对JavaScript的一些认识
Java基础:小编浅谈JavaScript与Java区别何在
Java基础:小编谈继承的语法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-26   浏览: 217 ::
收藏到网摘: 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();