我已经缩小了我面临的问题范围,结果发现"replyfeserver"
在为特定主题创建时速度太慢{ {1}}:
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"
可能出现的问题是什么?为了诊断问题,我应该注意哪些事项?过去2个月我一直在使用这个主题。
我使用的是XMS C ++ API,请假设context
对象是一个创建会话,目标,消费者,制作人等的抽象。
我也想知道这两种方法之间是否存在差异:
xms::Destination dest("topic://replyfeserver");
VS
xms::Destination dest = session.createTopic("replyfeserver");
我试过两者,它没有任何区别 - 至少我没有注意到它。
答案 0 :(得分:0)
应该没有任何区别。就个人而言,我喜欢将我的主题放在层次结构中。即A.B.C
我会运行一条MQ跟踪然后与IBM打开一个PMR并给它们跟踪并说明请解释延迟。