处理多个主题、发布者和订阅者时出错 + WSO2MB
Errors when handling multiple topics, publishers and subscribers + WSO2MB
我有 Message Broker 3.1.0
,我正在尝试通过 java 程序发布消息并通过 JMeter
脚本订阅,我是 运行 它在 Windows.
所以在我的例子中,我在 MB 中添加了三个主题,三个不同的 java 类 通过 cmd 执行以发布消息和通过 JMeter GUI 创建的三个不同的订阅者。我特此为通过 JMeter
GUI 生成的 jmx 文件之一提供 url。据我所知,所有三个 jmx 文件中的以下属性都已更改:
- 名称="jms.provider_url
- 姓名="jms.topic"
我为每个具有以下属性的订阅者创建了 3 个不同的 jndi.property
文件:
- connectionfactory.TopicConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5672'
- topic.Games = 游戏(我只为其他两个主题更改了这个 嗯,即:主题名称)
一旦我开始发布和订阅所有这三个,我就会 运行 陷入以下错误。
INFO {org.wso2.andes.server.protocol.AMQProtocolEngine} - Closing channel due to: org.wso2.andes.AMQInternalException: An Exclusive Bindings already exists for different topic. Not permitted. [error code 541: internal error] INFO {org.wso2.andes.server.exchange.TopicExchange} - Message routing key: Games No routes. [2016-05-19 16:38:13,953] INFO {org.wso2.andes.kernel.disruptor.inbound.MessagePreProcessor} - Message routing key: Games No routes in cluster. Ignoring Message id
我可以理解 jmx 文件中的一些 property/properties 是重复的,或者在所有三个文件中指的是同一件事。我哪里可能出错了?任何帮助将不胜感激。
我通过将所有三个 jmx 文件中的 jms.durableSubscriptionId
和 jms.clientId
更改为不同的 ID 解决了这个问题。