3

我有Message Broker 3.1.0,我正在尝试通过 java 程序发布消息并通过JMeter我在 Windows 中以无头模式运行它的脚本订阅。

因此,就我而言,我在 MB 中添加了三个主题,三个不同的 java 类通过 cmd 执行以发布消息,三个不同的订阅者通过 JMeter GUI 创建。我特此提供通过GUI生成的 jmx 文件之一的url 。JMeter据我所知,所有三个 jmx 文件中的以下属性都已更改:

  • name="jms.provider_url
  • 名称="jms.topic"

jndi.property为具有以下属性的每个订阅者创建了 3 个不同的文件:

  • connectionfactory.TopicConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5672'
  • topic.Games = Games(我也只为其他两个主题更改了这个,即:主题名称)

一旦我开始发布和订阅这三个,我就会遇到以下错误。

INFO {org.wso2.andes.server.protocol.AMQProtocolEngine} - 关闭通道由于:org.wso2.andes.AMQInternalException:已存在不同主题的独占绑定。不允许。[错误代码 541:内部错误] INFO {org.wso2.andes.server.exchange.TopicExchange} - 消息路由键:游戏无路由。[2016-05-19 16:38:13,953] INFO {org.wso2.andes.kernel.disruptor.inbound.MessagePreProcessor} - 消息路由键:游戏集群中没有路由。忽略消息 ID

我可以理解 jmx 文件上的某些属性/属性已被复制或在所有三个文件中引用相同的东西。我哪里做错了?任何帮助,将不胜感激。

4

1 回答 1

2

我通过在所有三个 jmx 文件中将jms.durableSubscriptionIdand更改jms.clientId为不同的 id 来解决这个问题。

于 2016-05-20T17:30:55.120 回答