我需要爲ActiveMQ創建一個主題和一個持久訂閱者,我的問題是我不知道在哪裏指定。我可以創建主題並使用消息,但是當我關閉訂閱者時,請繼續發送消息並再次打開訂閱者,它不會讀取它們。用ActiveMQ創建持久的主題和用戶彈簧引導jms
這是我到目前爲止有:
發送消息:
JmsTemplate jmsTemplate = context.getBean(JmsTemplate.class);
jmsTemplate.setPubSubDomain(true);
jmsTemplate.setDeliveryMode(DeliveryMode.PERSISTENT);
jmsTemplate.setDeliveryPersistent(true);
jmsTemplate.convertAndSend("venta.topic",venta);
收到消息:
@JmsListener(destination = "venta.topic",id = "comercial",subscription = "venta.topic")
public void receiveMessage(Venta venta) {
logger.log(Level.INFO, "RECEIVED : {0}",venta);
repository.save(venta);
}
我已閱讀this article,我明白,我需要創建持久的用戶。
我也看到了spring docs
而且我覺得它有什麼做的DefaultJmsListenerContainerFactory
(我沒有實現,我使用的是默認配置),該文檔顯示:
@Bean
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory() {
DefaultJmsListenerContainerFactory factory =
new DefaultJmsListenerContainerFactory();
factory.setConnectionFactory(connectionFactory());
factory.setDestinationResolver(destinationResolver());
factory.setConcurrency("3-10");
return factory;
}
但我似乎無法找到在哪裏創建持久會話。我的製作人和用戶都連接到獨立的activemq二進制文件。
我希望你能幫助我,在此先感謝。
感謝您的指點我朝着正確的方向 –