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(),

Другие вопросы по тегам