[java] java消息服务 (二) 点对点模型P2P

在P2P模型中,生产者称为发送者,消费者称为接收者。p2p模型中最重要的特性如下:

1. 消息通过称为队列(Queue)的一个虚拟通道进行交换。队列是生产者发送消息的目的地和消费者接受消息的消息源。

2.每条消息仅会传送给一个接收者。可能会有多个接收者在一个队列中侦听,但是每个队列中的消息只能被队列中的一个接收者消费。

3.消息存在先后顺序。一个队列会按照消息服务器将消息放入队列的顺序把它们传送给消费者。当消息已被消费时,就会从队列头部将它们删除   (除非使用了消息优先级)。

4.生产者和消费者之间没有耦合。接收者和发送者可以在运行时动态添加,这使得系统的复杂性可以随时间而增长或降低(这是消息传送系统的普    遍特性)。

点对点消息传送模型以向一个指定的目的地发送一条消息的概念为基础。该目的地的真实网络位置对发送者来说是透明的,因为p2p客户端工作时使用的是从JNDI命名空间获取的一个Queue标识符。

点对点消息传送模型有两种类型: 异步即发即弃(fire-and-forget)处理和异步请求/应答处理。使用即发即弃处理时,消息生产者向某个队列发送一条消息,而且它并不会期望接收到一个响应(至少不是立刻接收到响应)。这类处理可用于触发一个事件,或者用于向接收者发出请求来执行一个并不需要响应(或在某些情况下,不需要立即响应)的特定活动。

用于队列的接口:

公共API                                                                                  队列API                                                                 
ConnectionFactory QueueConnectionFactory
Destination Queue
Connection QueueConnection
Session QueueSession
MessageCustomer QueueSender
MessageProducter QueueReceiver

 

posted @ 2015-06-30 10:22  snow__wolf  阅读(278)  评论(0)    收藏  举报