session.logout
と の違いを理解するのを手伝ってくれませんかsession.generateLogout
。
ログアウト メッセージを明示的に作成して送信することもできます。それは他の2つとどう違うのですか?
ログアウト方法は行く方法です。public void next()
タイマーによって呼び出されるメソッドをトリガーする有効フラグを変更します。これは、generateLogout()
メソッドを使用して正しい FixMessage(35=5) を送信します。generateLogout メソッドは、理由もなく変更セットで public に変更されたパラメーターのないメソッドを除いてすべてプライベートです。これは、メッセージを作成するための単なるヘルパー メソッドであるため、予期しないことが起こると思います。状態を変更し、どの呼び出しpublic void logon()
をトリガーするかを呼び出すログオンについても同じです。public void next()
private void generateLogon()
まず、QuickFIX/J のJavadocを見ると、選択したメソッドに必要な情報が不足していると主張する人がいるかもしれません。
このプロジェクトのソース コードを見て、方法を比較することをお勧めします(オープン ソース ソフトウェアの利点の 1 つです)。
一目で、方法の違いについては以下を参照してください。
logout()
メソッドは呼び出しのみsetEnabled(false)
一方、
generateLogout(Message otherLogout, String text, SessionStatus sessionStatus)
あらゆる種類のものを呼び出します。たとえば、ログアウト メッセージを準備したり、セッション ステータスを設定したりします。
要約すると、generateLogout()
方法はログアウトするためのより適切な方法のようです。