J2EE探索者: 用JMS进行企业消息传递 - 编程入门网
用MDB。不过,您可以使用一个简 单JMS客户机,或者将会话bean与JMS结合起来使用。为了在这两种选择之间作出决定,您 必须在简单JMS客户机的轻量级特性(特别适合于applet、Swing应用程序和独立的控制台 应用程序)以及J2EE容器的健壮性(包括透明的事务性支持、宣告式安全性和其他EJB型资 源管理功能)之间进行权衡。
异步地访问会话bean和实体bean 有两种方式来处理这一场景。比较明显的一种方式就是使用一个消息驱动bean,但前提 是您的供应商支持MDB技术。MDB被设计用来 消费异步消息并代表消息发送方访问企业功能 性。此外,应用服务器可以维护一个MDB的多个实例,来处理并发的服务请求。如果您不能 使用MDB,您可以创建一个简单JMS客户机,以此来作为一个侦听器。当收到一条消息时, 该客户机便可以与应用服务器建立一个同步的RMI连接,并按照常规的方式调用会话bean或 者实体bean。不过,MDB是更值得推荐的解决方案。 构建尽可能瘦的JMS客户机 在这一方面,简单JMS客户机显然是赢家。如果对您来说更重要的是提供一个轻量级的 消息传递客户机,而不是拥有像会话bean这样的J2EE客户机的可伸缩性和健壮性,那么简 单JMS是正确的选择。无论是会话bean与JMS的组合,还是MDB,两者都需要一个J2EE应用服 务器,这使得两种选择都不适合瘦客户机实现。 并发地发送和接收消息 这里惟一合适的选择是使用消息驱动bean。消息驱动bean是专门为这一场景量身定做的 。从技术上讲,简单JMS客户机也可以利用多线程技术来提供类似的支持,但这种解决方案 开发起来很复杂,并且最后开发出来的东西并没有很好的可伸缩性。 将消息传递合并到J2EE过程中 您或许已经在J2EE体系结构中有所投入,并且认识到将企业消息传递合并到这些J2EE过 程中的需要。在大多数情况下,您最好的解决方案是将会话bean与JMS资源连接结合起来使 用。您可以采用已有的会话bean来访问一个或多个主题和队列,而不必重建整个基础设施 。这些会话bean将继续履行传统的对业务服务的请求,并且还担负起了消息传递的任务。 在某些情况下,将您已有的业务服务暴露给一个JMS客户机是有好处的,这从前面的讨论中 也可以发现。 结束语 就今天技术前景的多样性和日趋于异步的特点来说,消息传递是一种激动人心的、日益 流行的解决方案。Java 消息服务提供了一种独立于 供应商和平台的媒介,通过使用企业 消息传递将多个系统系在一起。在本文中,我们简要地浏览了企业消息传递和JMS,并且给 出了一些指导方针,以方便您选择最适合您企业的解决方案。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |