0

我已经缩小了我面临的问题的范围,结果发现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"?为了诊断问题,我应该查看哪些内容?过去 2 个月我一直在使用这个主题。

我正在使用 XMS C++ API,请假设context对象是创建会话、目的地、消费者、生产者等的抽象。

我还想知道这两种方法之间是否有任何区别:

xms::Destination dest("topic://replyfeserver");

对比

xms::Destination dest = session.createTopic("replyfeserver");

我尝试了两者,它没有任何区别 - 至少我没有注意到它。

4

1 回答 1

0

应该没有什么区别。就个人而言,我喜欢将我的主题放在一个层次结构中。即ABC

我会运行一个 MQ 跟踪,然后用 IBM 打开一个 PMR 并给他们跟踪并说请解释延迟。

于 2016-02-05T17:15:44.547 回答