作为我们的FIX提供商对连接器应用程序执行的一致性测试的一部分,我们开发的应该会在遇到所有会话突然断开连接后自动重新连接并重新订阅报价会话。
由于我们使用QuickfixJ,当Quote会话发生任何中断时,客户端应用程序会自动重新连接并重新登录,并且默认情况下将序列号重置为从1开始。但是,重新登录后,我们的应用程序未收到任何报价消息,即使交易对手在中断之前不断发送订阅的报价(这是我们的交易对手所说的)。除了成功的Heartbeat消息之外,我们在日志中也看不到任何内容。
重新登录后我们是否必须再次发送新的QuoteRequest?或者我们是否必须发送ResendRequest?
我认为我们无法在此发送ResendRequest,因为在登录期间序列号已经重置。 如果我们必须发送一个新的QuoteRequest,它是否会导致交易对手的任何错误,因为它还没有停止发送之前订阅的报价?
您能否建议我们一个解决方案。提前致谢。
答案 0 :(得分:2)
重新登录后我们是否必须再次发送新的QuoteRequest?
这个答案是针对特定对手的。 FIX协议没有回答这个问题。你真的需要问你的对手方。我的直觉说答案可能是"是",但你应该与他们确认。
FIX提供了一组默认的应用程序级消息和字段,但没有描述它们必须如何使用。因此,每个交易对手的做法都有所不同。
天啊,不! ResendRequest是传输层消息; QF / j引擎会在需要时自动发送。你不应该手动发送它(就像你不应该手动发送心跳一样)。或者我们必须发送ResendRequest?