有状态会话Bean.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
有状态会话Bean

xxxxxxxxxxxxxxxxxxxxxxxxx 有状态会话Bean(Stateful Bean)的开发 Session Bean是最简单的EJB组件,Session Bean又分为两类: 无状态会话Bean( Stateless Bean ) 有状态会话Bean( Stateful Bean ) 无状态 session bean每次调用只对客户提供业务逻辑,但不保存客户端的任何数据状态。 有状态会话Bean( Stateful Bean )就是在客户引用期间维护Bean中的所有实例数据的状态值。这些数据在引用期间可以被其它方法所引用,其它客户不会共享同一个会话Bean的实例。 购物车就是一个典型的会话Bean,当一个客户第一次使用购物车时,系统为它分配一个购物车的会话Bean,以后,当客户选购了商品时将改变购物车的商品记录,而这些记录数据将保存到用户会话数据中。 有状态会话Bean的生命周期 有状态会话Bean的寿命周期比无状态会话Bean复杂,有四种状态:不存在、方法现成、事务中方法现成和钝化。 有状态会话的开发例子 后面的实例2是一个有状态会话Bean的例子。实例2要为某银行编写一个管理基金帐户的基本功能的Bean组件:StatefulAccount,为了描述清楚有状态会话Bean的特性,我们将之简化成三个业务逻辑接口: addFunds()方法为基金帐户添加基金。 removeFunds()方法从基金帐户中取出基金。 getBalance()方法提供基金帐户的余额查询。 一、开发EJB 1)、编写remote接口 package com.j2ee14.tyl; import java.util.*; import javax.ejb.EJBObject; import java.rmi.RemoteException; public interface StatefulAccount extends EJBObject { // 在remote接口了定义了EJB组件向外提供的业务方法。这个方法由EJB // 的类实现 public void addFunds(double amount) throws RemoteException; public void removeFunds(double amount) throws RemoteException; public double getBalance() throws RemoteException; } EJB组件都需要编写两个接口:一个是remote接口,另一个是Home接口。Servlet首先查找到EJB的Home接口,然后通过Home接口创建remote接口的引用,并且通过remote接口来调用EJB的业务方法。 remote接口又称为组件接口,它定义了EJB组件向外提供的业务方法。 2)、编写Home接口 package com.j2ee14.tyl; import java.io.Serializable; import java.rmi.RemoteException; import javax.ejb.CreateException; import javax.ejb.EJBHome; public interface StatefulAccountHome extends EJBHome { StatefulAccount create( double amount ) throws RemoteException, CreateException; } EJB的Home接口又称主接口,它由客户端使用,通过它来创建EJB的remote接口引用。 3)、编写EJB的实现类 package com.j2ee14.tyl; import java.util.*; import javax.ejb.*; import javax.naming.*; public class StatefulAccountBean implements SessionBean { // 实例变量,有状态会话Bean将在组件池中维护这个实例的值 private double fundBalance ; public void ejbCreate( double amount) throws CreateException { if( amount 0 ) throw new CreateException(Invalid Amount) ;

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档