我正在尝试处理 FIX 拒绝 ( MsgType 35=3
),但我不清楚如何检索 FIX 拒绝消息引用的消息。
FIX 拒绝是指在RefSeqNum
字段中按 MsgSeqNum
拒绝的消息(标记 45)。但是我不知道如何通过序列号获取被拒绝的消息。我认为这应该是可能的,因为 FIX 引擎可以重新发送序列号范围内的消息(以响应重新发送请求),所以如果引擎可以这样做,我也应该这样做。
问题:如何获取RefSeqNum
字段中拒绝邮件引用的邮件?
是否要以编程方式处理此故障?通常,生产环境中不应发生较低级别的废品。我一直在测试和手动检查消息以识别实际消息和有问题的标签时处理它们。
在任何情况下,您都可以通过以下方式以编程方式获取消息:
-
首先使用
Session Session.lookupSession(SessionID sessionId)
查找会话 -
使用
MessageStore Session.getStore()
获取与会话关联的MessageStore
-
使用
MemoryStore.get(int startSequence, int endSequence, Collection<String> messsages)
获取实际消息
您可以在此处找到 QuickFIX/J 的 API 文档,或访问文档文件夹。
请注意,在步骤 3 中,您必须传递与开始和结束序列号相同的序列号。