Tibco RV C客户端停止接收消息

时间:2018-01-23 10:27:47

标签: c tibco

我有一个C客户端正在收听Tibco RV(使用8.4.0)。源会在PREFIX1。*和PREFIX2。*上频繁地发出消息(可能是每秒几次)。

我有六个线程,每个线程都监听一个特定的SUFFIX,例如PREFIX1.SUFFIX_A和PREFIX2.SUFFIX_A。因此每个线程都有一个侦听器和它自己的队列来处理这两个消息。我的队列大小限制为1000,如果我们达到该值,则丢弃最旧的200(但在繁忙时间队列中的队列大小不会超过40)。

运行好几个小时后,程序每天突然停止接收数据。源继续发布但我不再从任何队列调度事件。我不明白是什么造成了这种情况(除了删除听众)。

可能导致听力停止的原因是什么?或者,考虑到系统是高频率,如何调查?我可以通过C接口判断监听器是否仍处于活动状态吗?我在API中看不到任何内容。

感谢您的帮助, -Dave

1 个答案:

答案 0 :(得分:0)

看起来问题是机器只有部分安装RV。特别是,我们为该机器提供的包中没有rv守护进程。我真的有点困惑我们在重新阅读文档后如何设法获取网络数据但似乎没有守护进程我们可以实现网络直到一个小的网络问题,然后什么都没有;通过守护进程,我们可以从网络错误中恢复。

因此,此案例的修复只是安装完整的包并确保守护程序不断运行。现在这个问题似乎已经消失了。