271.10. FIX Sequence Number Management
如果在 同步 交换处理过程中抛出应用程序异常,这会导致 QuickFIX/J 不会递增传入的 FIX 消息序列号,并会导致计数器信息重新发送。这个 FIX 协议行为主要用于处理 传输 错误,而不是应用程序错误。使用此机制处理应用程序错误存在风险。主要风险是,每次重新接收时,消息都会重复导致应用程序错误。更好的解决方法是,在处理之前立即保留传入的消息(数据库、JMS 队列)。这也允许应用程序异步处理消息,而不会在出错时丢失消息。
虽然可以在登录之前将消息发送到 FIX 会话(消息将在日志中发送),但通常最好等待会话被记录。这消除了登录时所需的序列号重新同步步骤。可以通过设置处理 SessionLogon 事件类别的路由来等待会话登录,并提示应用程序开始发送消息。
有关 FIX 序列号管理的详情,请查看 FIX 协议规格和 QuickFIX/J 文档。