首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TIBCO EMS重试逻辑

TIBCO EMS重试逻辑
EN

Stack Overflow用户
提问于 2012-12-05 08:49:09
回答 3查看 1.2K关注 0票数 0

我们有一个运行c# windows服务的应用程序服务器和一个运行TIBCO EMS的服务器。这两个服务器将在一周内的不同时间重新启动。

当应用程序服务器首先恢复联机时,我们会像c# windwos服务一样继续尝试连接到EMS服务器,直到EMS服务器恢复联机为止。(我已经将重试逻辑用于此场景)

当EMS服务器脱机而应用服务器正在运行时(例如,c#中的EMS客户端正在侦听队列中的传入消息),为此场景执行重试逻辑的最佳方式是什么?是否会立即抛出异常?

谢谢

EN

回答 3

Stack Overflow用户

发布于 2012-12-05 19:53:00

如何获取connecton close的通知?我看到有conneciton对象的Exception Listner和Exception Hanlder。但是如果我在它们都运行的时候关闭网卡,我就不能在c#中捕获它们中的任何一个。

它们之间有什么不同?

票数 1
EN

Stack Overflow用户

发布于 2012-12-05 19:05:50

如果您的Windows Service只打算连接到TIBCO EMS,那么您可以向它添加一个依赖项。然后,每当TIBCO EMS服务停止/重新启动时,您的Windows Service将分别停止/重新启动。缺点是当您启动TIBCO EMS时,您的Windows Service不会自动调用入门(我不确定您是否可以将两个服务配对在一起来解决此问题)。

或者,您可以将.NET中的一个计时器类(例如System.Timers.Timer)添加到您的类中,用于处理到TIBCO EMS的连接。然后在连接关闭时启动计时器,并在连接打开后停止计时器。计时器可以在指定的时间间隔后尝试连接。

票数 0
EN

Stack Overflow用户

发布于 2020-03-04 23:57:20

您应该尝试将以下KB中的属性添加到您的tibemsd.conf中并进行检查。

https://support.tibco.com/s/article/Tibco-KnowledgeArticle-Article-33918

例如:

代码语言:javascript
复制
client_heartbeat_server=10
client_timeout_server_connection=35
server_heartbeat_client=10
server_timeout_client_connection=35
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13714579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档