解决方案是添加一个“catch all”处理程序。
我正在听的当前主题是:
private readonly string _subjectDeliveryConfirm = "_RV.INFO.RVCM.DELIVERY.CONFIRM.>";
要添加全部捕获,请在以下位置添加另一个侦听器:
private readonly string _subjectDeliveryGlobal = ">";
添加新监听器时,请记住为每个监听器使用单独的监听器具体类,否则 Tibco 将在第一条消息后神秘地停止工作(有关如何创建多个监听器,请参阅演示代码)。
_confirmListener1 = new Listener(Queue.Default, _netTransport, _subjectDeliveryConfirm, null);
_confirmListener1.MessageReceived += new MessageReceivedEventHandler(OnCertifiedMessageConfirmed);
// Subscribe to error messages, in particular error messages related to remote listener processes
// disappearing.
_confirmListener2 = new Listener(Queue.Default, _netTransport, _subjectDeliveryGlobal, null);
_confirmListener2.MessageReceived += new MessageReceivedEventHandler(OnTibcoCatchAll);
Tibco 安装目录中有许多示例 C# 代码,这些代码\src\
说明了上面显示的技术。