我缩小了我所面临问题的范围,结果发现,当为特定的主题创建MessageProducer.send()时,"replyfeserver"太慢了
auto producer = context.CreateProducerFromTopic("replyfeserver");
producer->send(textMessage); //it is slow在这里,对send()的调用偶尔会阻塞55-65秒--几乎每次调用4-5次,一般最多5到15秒。
但是,如果我使用其他主题,比如"feserver.action.status"。
auto producer = context.CreateProducerFromTopic("feserver.action.status");
producer->send(textMessage); //it is fast!现在,对send()的调用在一秒钟内立即返回。我尝试过其他几个主题的send(),它们都运行得足够快。
这个特定主题"replyfeserver"可能会出现什么问题?我应该看什么东西来诊断它的问题呢?在过去的两个月里我一直在使用这个话题。
我正在使用XMS C++ API,请假定context对象是一个抽象,它创建会话、目的地、使用者、生产者等等。
我还想知道这两种方法之间是否有什么区别:
xms::Destination dest("topic://replyfeserver");vs
xms::Destination dest = session.createTopic("replyfeserver");我两次都试过了,没什么区别--至少我没注意到。
发布于 2016-02-05 17:15:44
不应该有任何区别。就我个人而言,我喜欢把我的主题放在一个层次结构中。即A.B.C .
我会运行一个MQ跟踪,然后使用IBM打开一个PMR,并给出跟踪,并说请解释延迟。
https://stackoverflow.com/questions/35223841
复制相似问题