跳到主要内容

简述消息队列P2P模型 ?

参考答案:

P2P消息模型(点对点消息传送模型)基于向一个指定的目的地发送一条消息的概念。这个目的地的真实网络位置对发送者是透明的,因为P2P客户端在工作时使用的是从JNDI命名空间获得的一个Queue标识符。

在P2P模型中,包含三个角色:消息队列(Queue)、发送者(Sender)和接收者(Receiver)。每个消息都被发送到一个特定的队列,接收者从队列中获取消息。队列保留着消息,直到它们被消费或超时。

使用P2P消息传送模型,P2P接收者能够推送或拉取消息,这取决于它是否使用异步onMessage()回调或同步receive()方法。在P2P模型中,多个消费者可以使用同一队列,但是传送给该队列的每条消息只能由其中一个消费者来接收。发送给一个队列的消息如何发布给该队列中的消费者,这取决于JMS提供者的策略。

供P2P队列使用的消息既可以是持久性的,也可以是非持久性的。持久性消息会在JMS提供者出现故障后继续存在,而非持久性消息则会在JMS提供者出现故障后消失。消息还可以有一个优先级和一个有效期。一旦某条消息被传送给一个队列,它就会保存在该队列中,即使当前并没有消费者连接。

以上信息仅供参考,如需了解更多信息,建议咨询专业人士或查阅相关书籍资料。