Numbers 快速修复序列重置不起作用

Numbers 快速修复序列重置不起作用,numbers,sequence,reset,matching,quickfix,Numbers,Sequence,Reset,Matching,Quickfix,我正在使用QuickFix/J(FIX 4.2)向接受者修复引擎提交订单。基本上我需要两个方面的帮助: 当我第一次尝试与接受者建立连接时,接受者拒绝最初的登录请求,说“Msg Seq No too Low”。在此之后,我的发起者继续将传出序列号增加1,当这个序列号和接受引擎期望的序列号匹配时,我得到了一个稳定的连接。为了加快这个过程,我开始提取预期的seq。否。来自接受方引擎发送的拒绝消息,并使用更改了我的引擎的传出序列号 session.setNextTargetMsgSeqNum(expec

我正在使用QuickFix/J(FIX 4.2)向接受者修复引擎提交订单。基本上我需要两个方面的帮助:

  • 当我第一次尝试与接受者建立连接时,接受者拒绝最初的登录请求,说“Msg Seq No too Low”。在此之后,我的发起者继续将传出序列号增加1,当这个序列号和接受引擎期望的序列号匹配时,我得到了一个稳定的连接。为了加快这个过程,我开始提取预期的seq。否。来自接受方引擎发送的拒绝消息,并使用更改了我的引擎的传出序列号

    session.setNextTargetMsgSeqNum(expectedSeqNo).
    
    然而,稍后,如果我的引擎发现传入序列号高于预期,它会发送一个重发请求。作为响应,另一方发回一个序列重置消息(35=4123=Y)。现在,在收到此消息后,我的引擎的传入序号应自动设置为它从seq Reset msg收到的序号。但这并没有发生,我的引擎继续请求消息重发请求,而传入的序号没有变化。 有趣的是,我发现当我一开始没有显式地更改传出的seq no时(使用setnextTargetMseqnum),这一点就起作用了

    为什么我的引擎在收到序列重置消息时没有显示预期的行为

  • 我已经和另一方谈过了,他们的配置中不会有ResetOnLogon=Y。因此,每当我的引擎启动时,它通常会发送序列号低于预期的登录请求(从1开始)。有没有更好的方法快速建立连接?比如,我能不能让我的引擎使用序列号,从熄火前的点恢复?理想的方法应该是什么

  • 因此,我现在将消息保存在一个文件中,该文件负责处理序列号。然而,再次令人不安的是,我的quickfix启动器引擎没有响应序列重置消息。现在根本没有管理员回拨


    我注意到,当我从一台服务器连接到接受者,然后关闭该会话,并使用同一会话id使用另一台服务器连接到接受者时,几乎总是没有对序列重置消息的响应。一旦接受登录,我希望一切正常。但是,当另一个引擎将序列重置发送到特定的数字(基本上是空白填充)时,我的修复引擎不响应它,这意味着,它不会重置预期的序列号,并继续向接受者发送重新发送请求。任何帮助都将不胜感激

    对于正常的修复会话使用,您可以配置会话开始和结束时间,并让引擎管理序列号。例如,如果您的会话在上午8:00到下午4:30期间处于活动状态,则QuickFIX/J将在上午8:00之后首次启动引擎时(或如果当时引擎已经启动,则在上午8:00时)自动将传出和传入序列号重置为1

    (问题1)。在序列重置后,发动机应使用新的输入序列号,这是正确的。考虑到这对成千上万的QuickFIX/J用户都能正常工作,请考虑您可能会做些什么来改变这种行为。例如,您是否有一个管理消息回调,它可能会引发异常。你看过你的日志文件了吗,看有没有什么提示


    (问题2)。如果您使用的是持久性MessageStore(FileStore、JdbcStore等),则重新启动时,您的传出序列号将可用。

    对于正常的修复会话使用,您可以配置会话开始和结束时间,并让引擎管理序列号。例如,如果您的会话在上午8:00到下午4:30期间处于活动状态,则QuickFIX/J将在上午8:00之后首次启动引擎时(或如果当时引擎已经启动,则在上午8:00时)自动将传出和传入序列号重置为1

    (问题1)。在序列重置后,发动机应使用新的输入序列号,这是正确的。考虑到这对成千上万的QuickFIX/J用户都能正常工作,请考虑您可能会做些什么来改变这种行为。例如,您是否有一个管理消息回调,它可能会引发异常。你看过你的日志文件了吗,看有没有什么提示


    (问题2)。如果您使用的是持久性MessageStore(FileStore、JdbcStore等),则重新启动时您的传出序列号将可用。

    谢谢。你的回答确实帮了大忙。确实存在回调异常!你对持久性MessageStore的指导也很有帮助。太好了,我很高兴听到它有帮助。你会接受这个答案吗?:-)不接受一个被接受的答案并不是获得额外帮助的有效途径。最好开始一个新问题。谢谢你,弗兰克。你的回答确实帮了大忙。确实存在回调异常!你对持久性MessageStore的指导也很有帮助。太好了,我很高兴听到它有帮助。你会接受这个答案吗?:-)不接受一个被接受的答案并不是获得额外帮助的有效途径。最好开始一个新问题。