Quickfixj:注销方法之间的区别

时间:2015-05-30 12:10:22

标签: java quickfixj

请有人帮我理解session.logoutsession.generateLogout之间的区别。

还可以显式创建和发送注销消息。这与其他两个有什么不同?

2 个答案:

答案 0 :(得分:2)

退出方法是可行的方法。它将更改启用标志,该标志将触发计时器调用的public void next()方法。这将使用generateLogout()方法发送正确的FixMessage(35 = 5)。 generateLogout方法都是私有的,除了一个没有参数的方法,其中没有任何理由改变为public,所以我猜这是意外的,因为它只是一个创建消息的辅助方法。对于您调用public void logon()的登录,它会改变状态并触发调用public void next()的{​​{1}}。

Session.java

答案 1 :(得分:1)

首先,通过查看QuickFIX / J的Javadoc,可以说它缺乏您选择的方法所需的信息。

我建议你查看这个项目的source code并比较一下这些方法(开源软件的好处之一)。

一目了然,请参阅下面的方法之间的差异,

logout()方法仅调用setEnabled(false)

generateLogout(Message otherLogout, String text, SessionStatus sessionStatus)

调用所有不同类型的东西。例如,它准备注销消息,设置会话状态等等。

总之,似乎generateLogout()方法是更合适的注销方式。