Quickfix/J-会话断开后自动重新登录(“完成”,false);

Quickfix/J-会话断开后自动重新登录(“完成”,false);,quickfix,fix-protocol,Quickfix,Fix Protocol,我有一个Quickfix/J实现,当我称之为: // from the sender/initiator Session.lookupSession(sessionId).disconnect("Done", false); 我在onLogout处理程序上获得了预期的行为 SenderFixEngine standalone logged off Receiver Fix Engine logged OFF, next sender num : 2 next target num

我有一个Quickfix/J实现,当我称之为:

// from the sender/initiator    
Session.lookupSession(sessionId).disconnect("Done", false);
我在onLogout处理程序上获得了预期的行为

SenderFixEngine standalone logged off 
Receiver Fix Engine  logged OFF, next sender num : 2 next target num : 3
但是我马上就自动地得到了相反的结果

Receiver Fix Engine logged ON  next sender num : 3 next target num : 4
SenderFixEngine standalone logged on

通常的QF应用程序设计不是运行并完成,而是在会话期间保持打开状态的应用程序。因此,如果会话因某种原因中断,引擎会立即尝试重新连接,这样您就不会错过任何东西

如果确实要停止,则应调用
Initiator.stop()
。或者更好的是,让你的应用程序自行终止


老实说,我看不出有什么好的理由来调用
disconnect()

会话通常是每天或有时是每周进行的。就像弗兰克说的,每天或每周。假设您是客户,您的交易对手将设置会话。您可以在配置文件中使用StartTime/EndTime(对于每周会话,也可以使用StartDay/EndDay)对其进行配置。