请有人帮我理解session.logout
和session.generateLogout
之间的区别。
还可以显式创建和发送注销消息。这与其他两个有什么不同?
答案 0 :(得分:2)
退出方法是可行的方法。它将更改启用标志,该标志将触发计时器调用的public void next()
方法。这将使用generateLogout()
方法发送正确的FixMessage(35 = 5)。 generateLogout方法都是私有的,除了一个没有参数的方法,其中没有任何理由改变为public,所以我猜这是意外的,因为它只是一个创建消息的辅助方法。对于您调用public void logon()
的登录,它会改变状态并触发调用public void next()
的{{1}}。
答案 1 :(得分:1)
首先,通过查看QuickFIX / J的Javadoc,可以说它缺乏您选择的方法所需的信息。
我建议你查看这个项目的source code并比较一下这些方法(开源软件的好处之一)。
一目了然,请参阅下面的方法之间的差异,
logout()
方法仅调用setEnabled(false)
而
generateLogout(Message otherLogout, String text, SessionStatus sessionStatus)
调用所有不同类型的东西。例如,它准备注销消息,设置会话状态等等。
总之,似乎generateLogout()
方法是更合适的注销方式。