JMS
chenpingpi
这个作者很懒,什么都没留下…
展开
-
深入掌握JMS(一)
1. JMS基本概念 JMS(Java Message Service) 即Java消息服务。它提供标准的产生、发送、接收消息的接口简化企业应用的开发。它支持两种消息通信模型:点到点(point-to-point)(P2P)模型和发布/订阅(Pub/Sub)模型。P2P 模型规定了一个消息只能有一个接收者;Pub/Sub 模型允许一个消息可以有多个接收者。 ...原创 2010-09-07 18:43:08 · 106 阅读 · 0 评论 -
深入掌握JMS(十一)TemporaryQueue和TemporaryTopic
TemporaryQueue和TemporaryTopic,从字面上就可以看出它们是“临时”的目的地。可以通过Session来创建,例如: TemporaryQueue replyQueue = session.createTemporaryQueue(); 虽然它们是由Session来创建的,但是它们的生命周期确实整个Connection。如果在一个Con...原创 2010-09-07 18:57:21 · 95 阅读 · 0 评论 -
深入掌握JMS(十)JMSCorrelationID和Selector
前面讲过JMSCorrelationID主要是用来关联多个Message,例如需要回复一个消息的时候,通常把回复的消息的 JMSCorrelationID设置为原来消息的ID。在下面这个例子中,创建了三个消息生产者A,B,C和三个消息消费者A,B,C。生产者A给消费者A发送一个消息,同时需要消费者A给它回复一个消息。B、C与A类似。 简图如下: 生产者A-...原创 2010-09-07 18:56:24 · 88 阅读 · 0 评论 -
深入掌握JMS(九)Selector
前面的例子中创建一个消息消费者使用的是: sesssion.createConsumer(destination) 另外,还提供了另一种方式: sesssion.createConsumer(destination, selector) 这里selector是一个字符串,用来过滤消息。也就是说,这种方式可以创建一个可以只接收特定消息的一个消费...原创 2010-09-07 18:54:14 · 78 阅读 · 0 评论 -
深入掌握JMS(八)JMSReplyTo
在下面的例子中,首先创建两个Queue,发送者给一个Queue发送,接收者接收到消息之后给另一个Queue回复一个Message,然后再创建一个消费者来接受所回复的消息。import javax.jms.Connection;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.Message...原创 2010-09-07 18:52:47 · 79 阅读 · 0 评论 -
深入掌握JMS(七)DeliveryMode例子
在下面的例子中,分别发送一个Persistent和nonpersistent的消息,然后关闭退出JMS。import javax.jms.Connection;import javax.jms.DeliveryMode;import javax.jms.MessageProducer;import javax.jms.Queue;import javax.jms.Session...原创 2010-09-07 18:51:02 · 81 阅读 · 0 评论 -
深入掌握JMS(六)消息头
一个消息对象分为三部分:消息头(Headers),属性(Properties)和消息体(Payload)。对于StreamMessage和 MapMessage,消息本身就有特定的结构,而对于TextMessage,ObjectMessage和BytesMessage是无结构的。一个消息可以包含一些重要的数据或者仅仅是一个事件的通知。 消息的Headers部分通常包含一...原创 2010-09-07 18:49:38 · 84 阅读 · 0 评论 -
深入掌握JMS(五)实战Topic
与Queue不同的是,Topic实现的是发布/订阅模型,在下面的例子中,启动2个消费者共同监听一个Topic,然后循环给这个Topic中发送多个消息。import javax.jms.Connection;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.MessageConsumer;...原创 2010-09-07 18:48:03 · 90 阅读 · 0 评论 -
深入掌握JMS(四)实战queue
Queue实现的是点到点模型,在下面的例子中,启动2个消费者共同监听一个Queue,然后循环给这个Queue中发送多个消息,我们依然采用ActiveMQ。import javax.jms.Connection;import javax.jms.DeliveryMode;import javax.jms.JMSException;import javax.jms.Message;...原创 2010-09-07 18:46:49 · 85 阅读 · 0 评论 -
深入掌握JMS(三)MessageListener
消息的消费者接收消息可以采用两种方式: 1、consumer.receive() 或 consumer.receive(int timeout); 2、注册一个MessageListener。 采用第一种方式,消息的接收者会一直等待下去,直到有消息到达,或者超时。后一种方式会注册一个监听器,当有消息到达的时候,会回调它的onMessage()方法。下面举例说明: ...原创 2010-09-07 18:45:33 · 167 阅读 · 0 评论 -
深入掌握JMS(二)一个例子
前一讲简单的介绍了一下JMS的基本概念, 这一讲结合一个例子让大家深入理解前一讲的基本概念. 首先需要做的是选择一个JMS提供者, 如果在JavaEE环境中可以不用考虑这些. 我们选择ActiveMQ, 官方地址: http://activemq.apache.org/. 网上有很多介绍ActiveMQ的文档, 所以在这里就不介绍了.按照上一讲的这个简图, Conne...原创 2010-09-07 18:44:22 · 81 阅读 · 0 评论 -
深入掌握JMS(十二)MDB
在EJB3中,一个MDB(消息驱动Bean)就是一个实现了MessageListener接口的POJO。下面就是一个简单的MDB。@MessageDriven(activationConfig={ @ActivationConfigProperty(propertyName="destinationType", propertyValue="...原创 2010-09-07 18:58:14 · 146 阅读 · 0 评论