Quickfix/J - автоматический повторный вход в систему после отключения сеанса ("Done", false);
У меня есть реализация Quickfix/J и когда я вызываю это:
// from the sender/initiator
Session.lookupSession(sessionId).disconnect("Done", false);
Я получаю ожидаемое поведение на обработчиках onLogout
SenderFixEngine standalone logged off
Receiver Fix Engine logged OFF, next sender num : 2 next target num : 3
но я сразу же получаю обратное автоматически
Receiver Fix Engine logged ON next sender num : 3 next target num : 4
SenderFixEngine standalone logged on
1 ответ
Решение
Обычный дизайн приложения QF - не запущенный, а приложение, которое остается включенным в течение сеанса. Таким образом, если сеанс прерван по какой-либо причине, движок немедленно попытается восстановить соединение, чтобы вы ничего не пропустили.
Если вы действительно хотите остановиться, вы должны позвонить Initiator.stop()
, Или, что еще лучше, просто закройте свое приложение.
Я, честно говоря, не вижу веских причин для звонка disconnect()
,