- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 JAVA 持久API 学习要点: 实体Bean 实体类 实体的生命周期 事务处理 直接操纵实体数据 并发访问和锁 查找实体和Query API 命名查询 EJB-QL语言 第9章 JAVA 持久API 9.1 Java持久化 API 概述 9.2 数据库同步 9.1 Java持久化 API 概述 9.1.1 实体Bean 9.1.2 实体类 9.1.3 实体的生命周期 9.1.4 事务处理 9.1.1 实体Bean 实体Bean有着一组属性并且每个属性与数据库表中的每个字段一一对应。 公开get和set方法供外界访问。 每一个属性对应数据库表中的一个字段,这样一个Bean实例就对应了表中的一条记录。 并不是固定的一个实例对应一条记录 。 9.1.1 实体Bean 保持实体Bean 可以手工完成持久化操作 可以让EJB容器完成持久化操作 实体bean和会话bean的比较 实体bean不允许保存每个客户端的信息。会话bean允许保存客户端的状态信息。 实体bean允许保存记录的,会话bean既可以保存客户端的信息又可以保存数据库记录的信息。 会话bean也不能提供在相同或不同的EJB类调用间进行全局的事务控制。 实体Bean的分类 1)CMP类型的实体Bean 2)BMP类型的实体Bean 第8章 开发EJB3.0应用 8.1 EJB3.0概述 8.2 会话Bean 8.3 消息驱动Bean 8.3 消息驱动Bean 8.3.1 为什么要使用消息 8.3.2 Java消息服务 8.3.3 集成JMS和EJB 8.3.4 开发消息Bean 8.3.1 为什么要使用消息 当服务器需要耗费较长的时间(几小时或着有时甚至是几天)来对这些请求作出响应。客户端程序(应用)要与服务器连接并耗费如此长的时间来等待结果,这是毫无意义的。因此通信应该是异步发生的。 动机: 异步 松耦合 可靠性 广播 面向消息 8.3.1 为什么要使用消息 消息系统的运行机制:一旦请求被提交,它就被放置在队列中,同时客户端与服务器断开连接。然后服务器从指定的队列中选出请求进行处理,并将处理得到的消息放置在另一个消息队列里。最后,客户端程序从这个队列中选出处理结果,获得响应。 8.3.2 Java消息服务 Java消息服务(Java Message Service,JMS)是一个Java API,它定义了消息的客户程序如何以一种标准化的形式与底层的消息服务提供者交互。JMS提供了一种接口,底层消息服务提供者通过该接口向客户程序提供 JMS消息服务。 JMS提供了点对点消息模式(Point-to-Point)和发布-订阅消息模式(Publish-Subscribe)。 8.3.2 Java消息服务 消息处理的类型: 发布/订阅 点对多 注册者注册到一定的Topic,发布者将消息分发到订阅者 点对点 通过消息队列实现 Producer1 Producer2 Topic Consumer1 Consumer2 Producer1 Producer2 Queue Consumer1 8.3.3 集成JMS和EJB 会话 Bean可以发送 JMS 消息并同步接收 JMS 消息,但不是异步方式。为避免占用服务器资源,可能希望在服务器端组件中使用异步接收。要异步接收消息,就使用消息驱动型 Bean。 异步接收 8.3.4 开发消息Bean 消息驱动Bean的业务接口已经被定义,对于使用JMS来说那就是MessageListener接口,这个接口定义了OnMessage方法。 EJB2.0:强制要求必须实现MessageDrivenBean接口。 EJB3.0:可以实现也可以不实现,但实现类必须使用MessageDriven注释。 EJB3.0中开发消息驱动Bean: 实现MessageListener接口,实现OnMessage方法。 使用MessageDriven注释。 8.3.4 开发消息Bean 8.3.4 开发消息Bean 开发一个消息驱动Bean 新建一个EJB Project 新建一个MDB类,实现MessageListener接口,类型选择Queue (Point-to-Point) 8.3.4 开发消息Bean 完成HelloMDB.java的代码 8.3.4 开发消息Bean …… @MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = acknowledgeMode, propertyValue = Auto-acknowledge), @ActivationConfigPro
原创力文档


文档评论(0)