coder_zzc
coder_zzc
2017-11-01 09:19

消息队列是怎么实现不可重复消费的?

  • activemq
  • jms
  • java

JMS规范目前支持两种消息模型:点对点(point to point, queue)和发布/订阅(publish/subscribe,topic)
在点对点模式中,消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费消息。
消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息。Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费。
这一系列操作是怎么实现的?一条消息被消费之后,是怎么删除的?是怎么保证一条消息只被一个消费者消费的?

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

4条回答