如何在重启后恢复处理程序并继续从 CurreneX 接收消息?

How can I restore handlers after restart and continue receive messages from CurreneX?

我为 CurreneX 创建 java 服务。我使用 Quiqfix/j 库。当我发送新的 QuoteRequest 时,我会在 240 秒内收到报价。但是,如果我重新启动我的服务或重置互联网连接,我将停止接收报价。如何在 reconnect/restart 之后继续接收报价?我使用选项

PersistMessages = Y
ResetOnLogon = N

Mayby我不明白它是如何工作的?我需要在重启后恢复处理程序并继续从 CurreneX 接收消息。或者我需要自己创建逻辑和数据库持久层?那为什么要在quickfix JdbcStoreFactory中存储消息呢?

是的,当您发送 QuoteRequest 时,您会收到该请求的报价。然后从 Currenex 的角度考虑连接。他们有 n 个发送报价请求的客户。他们发回响应/流。如果客户端断开连接,他们不知道该客户端断开连接的原因或客户端何时或是否会重新连接。在他们这边处理重新订阅是有问题的,而且停止开放订阅并让客户重新订阅更干净、风险更小(比如在交易期间断开连接)。所以这就是你必须做的。

至于 ResetOnLogon 那是关于重新启动序列号,这样您就不会寻找错过消息的空白。这一切都是为了交易的安全性,而不是为了在重新订阅时过时的临时报价。

您需要处理 OnLogout 并存储您当前的报价请求,然后重新订阅这些请求 OnLogon