因群里的网友发现DurableTopicSubscription的NoLocal问题,具体问题描述请参考https://issues.apache.org/activemq/browse/AMQ-2561。基于我现在时间的原因,我把问题原因和解决方案做一简单方法,希望对碰到同样问题的朋友有所帮助。
原因分析:
activeMQ处理DurableTopicSubscription的过程大致如下:
问题就在当某个DurableTopicSubscription第一次是正常的,但之后再重新启动时,activeMQ找到对应的subscription并激活它,但是忘了刷新它的selectorExpression,这就导致网友提出的那个bug。
解决方法:
1.修改AbstractSubscription类的private static BooleanExpression parseSelector(ConsumerInfo info) throws InvalidSelectorException方法为protected或public
2.AbstractSubscription类新增一个方法public void setSelectorExpression(BooleanExpression selectorExpression)
{
this.selectorExpression = selectorExpression;
}
3.修改DurableTopicSubscription类的public void activate(SystemUsage memoryManager, ConnectionContext context, ConsumerInfo info) throws Exception方法,
新增一行setSelectorExpression(parseSelector(info));
很久没写文章了,希望对大家能有所帮助,欢迎更多的人参与activeMQ的使用和源码分析中来,毕竟activeMQ是值得我们研究的。
- 大小: 41.9 KB
分享到:
相关推荐
ActiveMQ_in_Action_中文ActiveMQ_in_Action_中文ActiveMQ_in_Action_中文ActiveMQ_in_Action_中文
spring集成ActiveMQ的配置过程
ActiveMQ_in_Action_中文.zip
activemq生产者,消费者api,以及activemq整合spring配置
ActiveMQ_in_Action.pdf 教程文档
ActiveMQ_in_Action.pdfActiveMQ_in_Action.pdfActiveMQ_in_Action.pdfActiveMQ_in_Action.pdfActiveMQ_in_Action.pdfActiveMQ_in_Action.pdfActiveMQ_in_Action.pdfActiveMQ_in_Action.pdfActiveMQ_in_Action....
标签:activemq-jmdns_1.0-5.4.0-sources.jar,activemq,jmdns_1.0,5.4.0,sources,jar包下载,依赖包
标签:activemq-jmdns_1.0-5.4.0-javadoc.jar,activemq,jmdns_1.0,5.4.0,javadoc,jar包下载,依赖包
标签:activemq-jmdns_1.0-4.1.2.jar.zip,activemq,jmdns_1.0,4.1.2,jar.zip包下载,依赖包
activemq与spring的整合 demo 望大家采纳与交流
activemq_CPP_2018最新版本全部所需文件附 expat文件 , 如果不是C++的同学,请绕道.
标签:activemq-jmdns_1.0-4.1.2.jar,activemq,jmdns_1.0,4.1.2,jar包下载,依赖包
标签:activemq-jmdns_1.0-5.5.1.jar,activemq,jmdns_1.0,5.5.1,jar包下载,依赖包
标签:activemq-jmdns_1.0-5.3.2.jar,activemq,jmdns_1.0,5.3.2,jar包下载,依赖包
标签:activemq-jmdns_1.0-5.4.0.jar,activemq,jmdns_1.0,5.4.0,jar包下载,依赖包
标签:activemq-jmdns_1.0-5.4.3.jar,activemq,jmdns_1.0,5.4.3,jar包下载,依赖包
标签:activemq-jmdns_1.0-5.4.1.jar,activemq,jmdns_1.0,5.4.1,jar包下载,依赖包
标签:activemq-jmdns_1.0-5.6.0.jar,activemq,jmdns_1.0,5.6.0,jar包下载,依赖包
标签:activemq-jmdns_1.0-5.1.0.jar,activemq,jmdns_1.0,5.1.0,jar包下载,依赖包