处理多个主题,发布者和订阅者时的错误+ WSO2MB

时间:2016-05-19 12:32:28

标签: java wso2 jmeter messagebroker wso2mb

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

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

  • name =“jms.provider_url
  • 名= “jms.topic”

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

  • connectionfactory.TopicConnectionFactory = AMQP://管理员:?管理员@ clientID的/碳brokerlist = 'TCP://本地主机:5672'
  • topic.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文件中的某些属性/属性已被复制或在所有三个文件中引用相同的内容。哪里可能出错了?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

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