Как навсегда отключить сеанс Acceptor - PullRequest
0 голосов
/ 30 марта 2020

Можно ли отключить сеанс Acceptor в QuickFIX / J? Я попробовал метод disconnect(String reason, boolean logError). Но как только контрагент попытался повторно подключиться, сеанс снова подключается.

Я хочу оставаться отключенным .

1 Ответ

1 голос
/ 30 марта 2020

Согласно комментарию javado c для метода disconnect() вы не должны вызывать его из кода пользователя:

     * 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() для выхода из сеанса , Это также отключит сессию таким образом, что контрагенты будут отключены при подключении. Но могут быть короткие сроки, когда они будут зарегистрированы. Это потому, что этот флаг проверяется только раз в секунду.

Чтобы сразу отклонить вход в систему, вы можете выбросить исключение RejectLogon из вашего fromAdmin() обратного вызова.

...