我有一个发布到JMS主题的TIBCO BusinessWorks流程-称之为TOPIC.A-有一个流程正在订阅该主题,名称为SUBSCRIBE.A。
我的问题是,第一台开始监听SUBSCRIBE.A的服务器正常运行。运行完全相同的进程的其他3个服务器将收到错误消息“ WebSphere MQ调用失败,compcode为'2'('MQCC_FAILED'),原因为'2429'('MQRC_SUBSCRIPTION_IN_USE')”
对于企业软件来说,这不是一个合理的行为,而且我知道WebsphereMQ,JMS和TIBCO Businessworks都可以很好地扩展,因此我肯定缺少一些东西。我只希望每个事件都处理一次,但是出于故障转移原因和剪切量原因,一个框都不会这样做。
我必须怎么做才能让群集中的所有4个服务器为订阅SUBSCRIBE.A服务?
我同意这对于企业软件而言似乎不是合理的行为-但是此限制是由JMS规范施加的。JMS 1.1规范的第6.66.1节说:“一次只能有一个会话具有用于特定持久订阅的TopicSubscriber”。
也就是说,WebSphere MQ确实提供了特定于供应商的选项,该选项使您可以执行所需的操作:请参阅CLONESUPP
Connection Factory属性。这在CLONESUPP
属性页面的“信息中心”中有记录。
虽然它特定于MQ,但是如果使用受管理对象指定此代码,则代码将不需要使用任何特定于供应商的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句