ActiveMQ_JMS消息可靠性
上面是我们可以手动设置消息的持久化方式,但如果是默认的话,情况是怎样的呢?这样得分两种情况,即Queue和Topic
Quue的默认消息传递方式:持久化
Topic默认是非持久化的,不过它这个没有意义,因为我们说非持久的消息,无论是否mq有无宕机,它发的消息要是目前消费者在线才行,不然没有的话跟宕机也没啥区别
下面讨论时Topic为持久化的情况:
首先总的概念就是:持久化的Topic,无论消费者有无在线,该Topic都在,当消费者上线了,就能收到消息;还有这里持久化topic的消费者我们叫订阅者比较专业点。
然后要使用持久化的topic,代码得有一定的改变,如图:
生产者代码变更:
消费者变更代码: