我使用的是WSO2MB 2.1.1版。
我有两个使用持久订阅订阅主题队列的ESB进程。
现在,这些流程已经重新部署,他们无法再听取这个主题了。
在ESB日志中,我看到:
TID: [0] [ESB] [2015-06-16 12:07:14,364] INFO {org.wso2.andes.client.AMQConnection} - Unable to connect to broker at tcp://localhost:5822 {org.wso2.andes.client.AMQConnection}
org.wso2.andes.AMQTimeoutException: Server did not respond in a timely fashion [error code 408: Request Timeout]
在MB日志中,我看到:
TID: [0] [MB] [2015-06-16 12:02:39,015] INFO {org.wso2.andes.server.protocol.AMQProtocolEngine} - Cannot subscribe to queue clientID:NewCaseUpdateLocation as it already has an existing exclusive consumer whilst processing:[BasicConsumeBodyImpl: ticket=0,
queue=clientID:NewCaseUpdateLocation, consumerTag=1, noLocal=false, noAck=false, exclusive=true, nowait=false, arguments=null]
{org.wso2.andes.server.protocol.AMQProtocolEngine}
如何重新注册此订阅,或强行删除旧订阅?
在MB中,我无法取消注册,因为注册是从ESB完成的。
答案 0 :(得分:0)
这似乎是因为之前的持久订阅未正确停用(报告类似问题here)因此,重新部署MB时,不允许为两个订阅者提供相同的持久订阅ID,除非它是{{ 3}}
在病房MB 3.1.0的旁注中,您可以从MB控制台关闭活跃的持久订阅者。