处理FIX Reject:使用QuickFix / J在RefSeqNum中按序列号检索FIX消息

时间:2013-11-12 13:48:49

标签: java quickfix fix-protocol quickfixj

我正在尝试处理FIX Reject(MsgType 35=3),但我不清楚如何检索FIX Reject消息引用的消息。

FIX拒绝引用MsgSeqNum字段(标记45)中RefSeqNum的被拒绝邮件。但是我不知道如何通过序列号获取被拒绝的消息。我认为这应该是可能的,因为FIX引擎可以重新发送序列号范围内的消息(响应重发请求),所以如果引擎可以这样做,那么我应该这样做。

问题:如何获取RefSeqNum字段中拒绝邮件引用的邮件?

1 个答案:

答案 0 :(得分:5)

您是否想以编程方式处理此故障?通常,较低级别的拒绝应该永远不会发生在生产环境中。我一直在测试和手动检查消息时处理它们,以识别实际消息和有问题的标签。

在任何情况下,您都可以通过编程方式获取消息

  1. 首先使用,查找会话, http://quickfixj.org/quickfixj/javadoc/1.5.3/quickfix/Session.html#lookupSession(quickfix.SessionID)

  2. 使用以下方式获取与Session关联的MessageStore, http://quickfixj.org/quickfixj/javadoc/1.5.3/quickfix/Session.html#getStore()

  3. 使用获取实际消息, http://quickfixj.org/quickfixj/javadoc/1.5.3/quickfix/MemoryStore.html#get(int,int,java.util.Collection)
  4. 请注意,在步骤3中,您必须传递与开始和结束序列号相同的序列号。