问题描述
使用 QuickFIX/n 并且需要找到一种方法来监控执行器端的潜在崩溃(我正在开发客户端)。我看到连接停止时有日志记录,但无法跟踪和触发代码中的任何内容。
我看过 Quickfix/n - No event for connection timeout or host not found? 但它只解决初始连接,而不是连接后崩溃。 QuickFIX/J 有 SessionStateListener https://quickfixj.org/javadoc/1.6.4/quickfix/SessionStateListener.html,但在 C# 变体中没有找到任何类似的东西。
基本上,需要找到一种方法来创建观察者,但看不到任何可能有用的内置内容。
解决方法
这不是一个明确的解决方案,但最终证明了目前的手段是合理的。
创建了自己的 ILogFactory
实现(而不是使用内置函数),它会侦听包含“正在断开连接:”的消息,然后将信息发送到适用的服务。导致一些奇怪的耦合,但目前还没有看到像 java 实现那样干净的方式。