快速业务通道

J2EE探索者: 用JMS进行企业消息传递 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
JMS消息传递系统进行交互。此外,使用JMS的新 应用部署起来只需对客户端进行少量的配置,甚至不需要配置。简单JMS客户机是对几乎任 何Java体系结构的简单、灵活和轻量级的一个扩展。

从消极的方面来看,我们会遇到安全性、事务处理以及可伸缩性等问题。对于一个简单 JMS客户机,您只能选择将安全性和事务处理外包给某个供应商,也就是说,这些问题将是 以一种特定于供应商的方式来处理的。如果您的简单JMS客户机既要处理传进来的消息,又 要发送消息,那么就会碰到可伸缩性问题。JMS没有能够一次处理多于一个传进来的请求的 内建机制。为了支持并发请求,您需要扩展JMS客户机,使其产生多个线程,或者启动多个 JVM实例,让这些线程或实例各自运行应用。此外,还需要将JMS提供者配置为在一些适当 的目的地上可以有多个订阅者。这时,您(或者您的开发小组)就会质疑简单JMS客户机解 决方案是否真的具有简单性。

会话bean与JMS

将会话bean与JMS结合起来使用是一种可行的面向企业的解决方案。会话bean被设计用 来履行对业务服务的请求。必须查询企业消息传递系统来履行这样的一个请求,就这一点 来说,企业消息传递系统可以由一个会话bean透明地来访问。使用会话bean作为JMS客户机 还允许将JMS通信合并到一个大型企业事务的上下文环境中。例如,可以建立一个J2EE事务 来从一个JMS提供者那里获取一条消息,从该消息中提取数据,并尝试更新数据库。如果更 新操作失败并且事务回滚(rollback),则再发送一条消息到一个单独的目的地上的JMS提 供者那里,同时给出对事务失败的原因的描述。

企业JavaBeans 技术使用资源管理器连接工厂来访问额外容器(extra-container )资 源。这些资源是标准的企业组件,但不是J2EE容器的核心部分,它们包括数据源、JMS会话 、JavaMail会话、URL连接以及Java连接器体系结构( Java Connector Architecture , JCA)适配器。资源管理器是J2EE容器的一个组件,它管理着某一特定类型的资源的整个生 命周期,这些资源包括连接池、事务支持以及实现实际连接所必需的任何网络协议。

企业bean通过三个步骤来获得一个JMS会话的连接:通过JNDI查找获得一个连接工厂引 用,通过工厂引用获得一个连接,然后以一种常规的JMS的方式使用主题或者队列连接对象 。因为JMS必须有遵从J2EE规范的应用服务器的支持,因此不再需要附加的库或者组件。

JMS会话bean 的优点和缺点

将JMS和会话bean结合起来使用,这在企业功能性方面是一个进步,而在简单性和灵活 性方面却又是一个退步。通过使用会话bean,应用开发者可以访问EJB容器所提供的整个范 围的J2EE功能,包括JNDI、宣告式事务语义、自动并发支持、资源管理、宣告式安全性以 及对诸如实体bean、数据源、JavaMail和JCA适配器之类的企业资源的访问。从消息传递的 立场来看(跟MDB不一样),会话bean与JMS的联手并没有对您的bean所能访问的主题和队 列强加任何数量上的限制。

作为增强企业特性的代价,您牺牲了简单性,客户机占用空间(client footprint)也 不再像以前那么小了,而且也没有了异步性。前两项损失倒没什么好奇怪的,如果您已经 关注探索者系列有一段时间了,那么您就更能理解这一点。会话bean要求有一个成熟的 J2EE EJB容器,这让您的开发小组(针对EJB开发而言)和您的整个系统体系结构(针对客 户机占用空间而言)背上了沉重的包袱。

异步性是使用像JMS这样的企业消息传递技术的主要优势之一,而且,在取得这一优势 的同时它并没有失去什么。有了JMS,消息传递客户机可以通过提供者发送消息,消息发送 出去之后便可以离线,而让提供者从容地传送这条消息。接收消息的客户机可以周期性地 上线并检查新的消息,或者也可以设立一个侦听器组件,令其一直处于

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号