[英]How to subscribe to a Durable TOPIC using Apache camel / Spring-boot?
Whenever i start my subscriber, it is not appearing on my activeMQ under "Active Durable Topic Subscribers" section. 每当我启动我的订户时,它就不会出现在我的activeMQ的“活动持久主题订户”部分下。 Which means it is not a durable topic subscriber yet.
这意味着它还不是持久主题订阅者。 How can i make it durable subscriber?
我如何使其成为持久订阅者?
JmsComponent jmsComponent = JmsComponent
.jmsComponentTransacted(connectionFactory, jmsTransactionManager);
// TODO
jmsComponent.setClientId(subscriptionClientId);
jmsComponent.setDurableSubscriptionName(subscriptionName);
jmsComponent.setSubscriptionDurable(true); // This is enabled by default
//jmsComponent.setMaxConcurrentConsumers(maxConcurrentConsumers);
jmsComponent.setAcknowledgementMode(Session.AUTO_ACKNOWLEDGE);
return jmsComponent;
PS: It works fine for Non-durable subscribers. PS:它对于非持久性订户很好用。 I added the below code in an attempt to make it durable.
我添加了以下代码,以使其持久。 Am i missing something ?
我想念什么吗? Do i need to add anything else?
我是否需要添加其他内容?
jmsComponent.setClientId(subscriptionClientId);
jmsComponent.setDurableSubscriptionName(subscriptionName);
jmsComponent.setSubscriptionDurable(true); // This is enabled by default
I got it working by passing the subscription details as query string param as below; 我通过将订阅详细信息作为查询字符串参数传递如下来使其工作:
myapp.jms.topic.inbound1=jms:topic:myFirstTopic?clientId=ABC&durableSubscriptionName=ABC myapp.jms.topic.inbound1 = JMS:主题:?myFirstTopic的clientId = ABC&durableSubscriptionName = ABC
myapp.jms.topic.inbound2=jms:topic:mysecondTopic?clientId=XYZ&durableSubscriptionName=XYZ myapp.jms.topic.inbound2 = JMS:主题:?mysecondTopic的clientId = XYZ&durableSubscriptionName = XYZ
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.