17-J2EE架构与程序设计(Session Beans Message-driven Beans).ppt

17-J2EE架构与程序设计(Session Beans Message-driven Beans).ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
17-J2EE架构与程序设计(SessionBeans

J2EE架构与程序设计 第17章 Session Beans Message-driven Beans 主要内容 Session beans Message-driven beans 第一节 Session beans 1 概述 Session bean的主要功用 访问数据 表示任务流 类型 无状态session bean 是一组相关服务的集合,每个服务由一个方法来表示 不维护任何介于两次方法调用间的状态 可以有内部状态,用以保存对外部资源的引用,但它对客户端而言是不可见的 有状态session bean 是客户端应用程序在服务器端的延续,在其寿命周期中只服务于一个客户端 代表客户端执行各项任务,并维护着与客户端的会话状态 调用其方法,可以从会话状态中读取和写入数据,这些数据在所有方法调用之间共享 2 无状态Session Bean 一个处理信用卡支付的无状态session bean 业务接口 公共接口: ProcessPayment.java 远程接口: ProcessPaymentRemote.java 本地接口: ProcessPaymentLocal.java 领域对象 CreditCardDO.java CheckDO.java 自定义应用程序异常 刻画业务含义 是一个checked exception,所以应在try/catch中捕获 PaymentException.java 2 无状态Session Bean Bean class: ProcessPaymentBean.java 构造了一个专门处理支付的业务流程 代表了一组相互独立的操作(方法) 所以是一个无状态session bean 使用@javax.annotation.Resource注解要求EJB容器在bean class被实例化之后,使用保存于ENC(enterprise naming context)中的值对这些数据成员进行初始化 部署时,系统会将内嵌于@Resource注解中的元数据,以及保存于EJB DD中的信息填入ENC 3 SessionContext 通过javax.ejb.SessionContext,bean实例可以获得EJB容器的环境 可以快速访问各种EJB服务 Session bean可以通过@Resource注解获得SessionContext的引用 3 SessionContext 4 无状态session bean的寿命周期 5 有状态session bean 一个为乘客完成航程预定的有状态seesion bean 远程接口: TravelAgentRemote.java 为了完成预定,bean需要知道是哪位乘客希望预定哪次航程的哪个仓位 需要先设置客户信息、航程和仓位,然后调用bookPassage( )方法 领域对象 TicketDO.java 自定义应用程序异常 由于没有获得处理预定所需的足够信息而产生的异常 是一个checked exception,所以应在try/catch中捕获 IncompleteConversationalState.java 5 有状态session bean Bean class: TravelAgentBean.java 使用@javax.persistence.PersistenceContext注解注入EntityManager数据成员 使用@javax.ejb.EJB注解注入一个指向ProcessPayment无状态bean的引用 bookPassage()使用@javax.ejb.Remove注解向EJB容器说明,当方法执行完毕时,客户端便不再需要该session bean了,EJB容器会把该bean从容器中移除 6 有状态session bean的寿命周期 第二节 Message-driven beans 1 JMS的消息传递模型 JMS提供了两种消息传递模型,JMS规范称之为messaging domain 发布-订阅模型 点对点模型 1 JMS的消息传递模型 选用哪一种消息传输模型 发布-订阅模型 任意数量的客户端可订阅同一主题,发送方不关心是否每个订阅主题的客户端都在正常监听,它甚至不知道是否有人在监听。通过主题,可以先对消息进行过滤,而后再分发给消费者 点对点模型 适合应用程序的一对一通信,p2p保证每条消息只由一个消费者处理。当消息被分别处理,同时又要保证消息的先后顺序时,须使用p2p 2 JMS编程模型 JMS消息发送者 使用ConnectionFactory连接JMS provider 消息目的地 Topic Queue 修改TravelAgentBean的bookPassage()方法 2 JMS编程模型 2 JMS编程模型 JMS消息接收者 使用Conn

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档