如何永久断开接受器会话
How to permanently disconnect an Acceptor session
是否可以在 QuickFIX/J 中断开 Acceptor 会话? disconnect(String reason, boolean logError)
这个方法我试过了。但是一旦对方尝试重新连接,会话就会重新连接。
我想要的是保持断开连接。
根据 disconnect()
方法的 javadoc 注释,您不应该从用户代码调用它:
* This method should not be called from user-code since it is likely
* to deadlock when called from a different thread than the Session thread
* and messages are sent/received concurrently.
* Instead the logout() method should be used where possible.
所以请使用logout()
方法退出Session。它还将以交易对手在连接时注销的方式禁用会话。但是他们登录的时间可能很短。这是因为该标志每秒只检查一次。
要立即拒绝登录,您可以从 fromAdmin()
回调中抛出 RejectLogon
异常。
更新:从 QuickFIX/J 2.3.0 开始,Acceptor 会话在调用 logout()
后将保持断开状态。参见 https://github.com/quickfix-j/quickfixj/pull/360
是否可以在 QuickFIX/J 中断开 Acceptor 会话? disconnect(String reason, boolean logError)
这个方法我试过了。但是一旦对方尝试重新连接,会话就会重新连接。
我想要的是保持断开连接。
根据 disconnect()
方法的 javadoc 注释,您不应该从用户代码调用它:
* This method should not be called from user-code since it is likely
* to deadlock when called from a different thread than the Session thread
* and messages are sent/received concurrently.
* Instead the logout() method should be used where possible.
所以请使用logout()
方法退出Session。它还将以交易对手在连接时注销的方式禁用会话。但是他们登录的时间可能很短。这是因为该标志每秒只检查一次。
要立即拒绝登录,您可以从 fromAdmin()
回调中抛出 RejectLogon
异常。
更新:从 QuickFIX/J 2.3.0 开始,Acceptor 会话在调用 logout()
后将保持断开状态。参见 https://github.com/quickfix-j/quickfixj/pull/360