J2EE探索者: 用JMS进行企业消息传递 - 编程入门网
所有底层网络和路由问题的负担。JMS和MOM能够很好地协同工作,因为它们都划清 了消息传递客户机和服务器之间的责任界限。
J2EE探索者: 用JMS进行企业消息传递(2)时间:2011-04-11 IBM Kyle Gabhart消息传递的类型 JMS 支持两种基本的消息传递机制。第一种机制是点到点的消息传递(point-to-point messaging),在这种机制下,消息由一个发布者(发送方)发送,由订阅者(接收方)接 收。另一种机制是发布-订阅式的消息传递(publish-subscribe messaging),在这种机 制下,消息由一个或多个发布者发送,由一个或多个订阅者接收。尽管这两种机制是JMS的 实际基础,很多人还是按照三种消息传递模型来看待这项技术: 一对一的消息传递(One-to-one messaging )是一种点到点的模型。消息由一个JMS客 户机(发布者)发送到服务器上的一个目的地,即一个队列(queue)。而另一个JMS客户 机(订阅者)则可以访问这个队列,并从该服务器获取这条消息。在队列中可以存放多条 消息,但每次只能获取一条消息。 一对多的消息传递(One-to-many messaging) 是一种发布-订阅模型。这里仍然是由 一个JMS客户机将一条消息发布到服务器上的一个目的地上,但是这次这个目的地叫做一个 主题(topic)。这里关键的不同在于放在一个主题中的消息包括了一个参数,这个参数定 义了该消息的耐久性(它能够在服务器上等待订阅者多长时间)。该消息将一直维持在主 题中,直到这个主题的所有订阅者都取走了该消息的一个副本,或者该消息的耐久性时间 已到期,不管发生的是上述中的哪种情况,该消息都将被从这个主题中删除。 多对多的消息传递(Many-to-many messaging),这也是一种发布-订阅模型,同时还 扩展了一对多的消息传递模型。除了支持多个订阅者外,该模型还支持一个主题有多个发 布者。多对多消息传递的一个很好的例子就是e-mail listserve:多个发布者可以将多条 消息投递到一个主题,而所有的订阅者将获取每一条消息。 JMS消息的结构相当直观。其中有一个部分(section)用于路由、寻址和消息识别;还 有一个可选的部分,在这个部分中可以传递一些特定于应用(application-specific)的 参数;第三个部分存放的是消息的有效负荷(文本 、字节、值映射(value map)、对象 ,等等)。这三个部分分别被称为头部、属性和主体,如图 1 所示。 图 1. JMS 消息结构 您所使用的消息传递模型的类型取决于您企业的需要。在一个企业中同时使用不止一个 的消息传递策略并不少见。在后面的一些小节中,我们将研究一下用于Java平台的三种JMS 解决方案:简单JMS客户机,结合JMS使用的会话bean,以及消息驱动bean。我们将重新回 顾每种类型,它们各自的优点和缺点,以及它们对不同企业场景的适用情况。 简单JMS客户机 尽管JMS是与Java 2 Enterprise Edition一起发布的一种企业级的技术,您仍可以轻松 地将一个标准Java客户机转换成一个支持JMS的应用。将企业消息传递功能添加到Java applet、命令行应用程序、Swing应用程序或者Java WebStart都非常简单。您只需简单地 将少量方法调用添加到J2SE应用代码中,然后将一个包含了JNDI(也是J2EE的一部分)的 接口和实现类的JAR文件添加到类路径(classpath)中。如果您已经在客户机上装载了这 个JAR文件,并且将它添加到了您的应用的类路径中,那么您就可以使用JNDI来访问JMS提 供者(参见下面的 参考资料 ,以获得关于JMS消息传递的更多信息的链接)。 J2EE探索者: 用JMS进行企业消息传递(3)时间:2011-04-11 IBM Kyle Gabhart简单JMS 客户机的优点和缺点 简单JMS 客户机方法有许多优点,最明显的优点就是它的简单性和普遍性。所有的J2SE 应用都可以毫不费力地扩展为可以与一个 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |