快速业务通道

利用JMS建立消息传递系统 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
WebLogic Server、Prism Technologies OpenFusion等最有名气,也存在一些免费的实现。

JMS同时支持消息交换的两种“基本的”模型。但是,其说明(specification)并没有要求厂商同时实现两种模型,尽管大多数JMS产品实现了点对点和发表-预订模型。

利用JMS建立消息传递系统(2)

时间:2010-05-21

JMS应用程序

JMS应用程序的主要部分是:

· 产生连接的部分和目的地

· 连接

· 对话

· 产生消息的部分

· 使用消息的部分

· 消息

产生连接的部分(ConnectionFactory)是负责建立JMS连接的对象。每个ConnectionFactory都是QueueConnectionFactory或TopicConnectionFactory的一个副本(copy)。MOM管理器建立特定的对象,并把它与JNDI树关联起来,这样JMS客户端就能够使用标准的JNDI查找表得到ConnectionFactory的入口。在点对点的模型中,它使用了javax.jms.QueueConnectionFactory;在发表-预订模型中,它使用的是javax.jms.TopicConnectionFactory。

目的地(Destination)——它是队列或主题,这依赖于我们使用了下面哪种模型:javax.jms.Queue或javax.jms.Topic。

连接(Connection)——它可能是客户端和服务应用之间的开放的TCP/IP。它可以被用于建立一个或少量的对话。在你的应用程序能够接收消息前,你必须调用start()方法。为了暂停发送消息,你需要调用stop()。

对话(Session)——在JMS连接的帮助下建立的对象,被客户端用作发送和接收消息。

产生消息的部分(MessageProducer)——对话建立的对象,被用于在目的地中发送消息。

使用消息的部分(MessageConsumer)——对话建立的对象,用于接收消息。为了同步接收消息,需要使用receive()方法。对于异步的情形,使用MessageListener和唯一的方法——onMessage()。在该方法中,在定义的消息到达后应该执行一定的操作。

消息(Message)——消息本身。JMS消息由三个部分组成:

· 消息头

· 属性(不是必要的)

· 消息体(不是必要的)

本文没有解释更多的细节信息,你可以在官方文档中找到具体的细节。

什么时候使用EJB 2.0

请注意下述各项内容:

在新的EJB 2.0规范中,与JMS的集成是通过建立新的EJB类型——消息驱动Bean(MDB)来实现的。MDB的特性是客户端不会使用远程接口(remote interface)与它通讯。其交互操作的唯一途径是通过消息发送。MDB仅仅是消息监听程序,是一个实现了javax.ejb.MessageDrivenBean和javax.jms.MessageListener接口的类,没有任何其它的功能。其中的第一个接口只有两个方法:setMessageDrivenContext() 和ejbRemove()。第二个接口只有一个方法:onMessage()。这个规范还需要一个不带参数的ejbCreate()建立方法。客户端不会直接与MDB通讯;它不会建立MDB。容器(container)自身决定什么时候和需要多少个MDB来处理来自特定目的地的消息。MDB的主要缺陷是它只能从一个目的地接收到消息。

利用JMS建立消息传递系统(3)

时间:2010-05-21

代码示例

我们假设你已经安装了J2SE(可以在http://java.sun.com/j2se/找到它),并且已经安装并运行了JBoss应用程序服务器(可以在http://www.jboss.org/找到它)。

为了编译下面的示例,你需要输入:

javac -classpath .;C:\jboss-3.2.3\client\jbossall-client.jar SimpleSender.java

为了运行它,你需要输入:

java -classpath .;C:\jboss-3.2.3\client\jbossall-client.jar SimpleSender

(在输入时,请用你自己的JBoss目录代替C:\jboss-3.2.3。同时还要记住,在你能够运行这些示例前,JBoss服务器必须处于运

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号