SpringBoot整合ActiveMQ开启持久化
1.开启队列持久化
只需要添加三行代码
jmsTemplate.setDeliveryMode(2); jmsTemplate.setExplicitQosEnabled(true); jmsTemplate.setDeliveryPersistent(true);
2. 开启主题持久化,启动类添加如下配置
@Bean(name = "topicListenerFactory") public JmsListenerContainerFactory<DefaultMessageListenerContainer> topicListenerFactory(ConnectionFactory connectionFactory){ DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setSubscriptionDurable(true);// Set this to "true" to register a durable subscription, factory.setClientId("B"); factory.setConnectionFactory(connectionFactory); return factory; }//消费者消费 destination队列或者主题的名字 @JmsListener(destination = "boot_topic",containerFactory = "topicListenerFactory") public void getMessage(TextMessage message,Session session) throws JMSException { System.out.println("消费者获取到消息:"+message.getText()); }
这里需要注意,主题的数据不会被消费,会被一直记录下来,只能手动清除
相关推荐
胡献根 2020-04-10
姚强 2020-03-01
Java高知 2020-02-15
胡献根 2020-07-18
胡献根 2020-07-05
jiangtie 2020-06-10
onlylixiaobei 2020-06-09
xinglun 2020-06-02
方新德 2020-05-31
Java高知 2020-05-20
Java高知 2020-05-08
Java高知 2020-05-03
onlylixiaobei 2020-05-02
Java高知 2020-04-22
胡献根 2020-04-22
heweiyabeijing 2020-04-21
方新德 2020-04-20
onlylixiaobei 2020-04-10