How to use 'TerminateOnLogout' and 'RecreateOnLogout' properties
If TerminateOnLogout = false and session receives Logout:
- If our session is acceptor and current time > ConnectTime and < DisconnectTime – session goes into WAITING_FOR_FIRST_LOGON state until DisconnectTime, after terminate time it goes into PLANNED state.
- If our session is initiator and current time > ConnectTime and < DisconnectTime, and RecreateOnLogout = false – session goes into DISCONNECTED state until DisconnectTime, after TerminateTime it goes into PLANNED state.
- If our session is initiator and current time > ConnectTime and < DisconnectTime, and RecreateOnLogout = true – session goes into RECONNECTING state.
If TerminateOnLogout = true and session receives Logout:
- If our session is acceptor and current time > ConnectTime and < TerminateTime – session goes into PLANNED state.
- If our session is initiator and current time > ConnectTime and < TerminateTime, and RecreateOnLogout = false – session goes into PLANNED state.
- If our session is initiator and current time > ConnectTime and < TerminateTime, and RecreateOnLogout = true – session goes into RECONNECTING state.
Session life cycle:
- StartTime -> create session. State:Â DISCONNECTED. Session able to store messages from FE
- ConnectTime -> session connects to client. State: ESTABLISHED (or RECONNECTING if client not allowing connection)
If ConnectTime < StartTime  wait next day. - DisconnectTime -> session disconnects.  State: DISCONNECTED.  Session able to store messages from FE. waiting ConnectTime at next dayÂ
- TerminateTime -> remove session from FE. State: PLANNED waiting StartTime at next day
What recreateOnLogout parameter is?
 recreateOnLogout=true for reconnecting to session after logout. (if FE is Initiatior use ForceReconnect=true, with Reconnect.MaxTries,  Reconnect.Interval)
What TerminateOnLogout parameter is?
TerminateOnLogout -> set session to PLANNED state after disconnect
after DisconnectTime -> send logout -> DISCONNECTED / PLANNED  (if TerminateOnLogout=true)
TerminateOnLogout | RecreateOnLogout | FE State | Description |
---|---|---|---|
false | false | DISCONNECTEDÂ | Session exist in FE. (can be handled) |
true | false | PLANNEDÂ | Session doesn't exist in FE (can't be handled) |
false | true | RECONNECTING | RecreateOnLogout has more priority than TerminateOnLogout |
true | true | RECONNECTINGÂ | WAITING_FOR_FIRST_LOGONÂ for Acceptor, ESTABLISHED* for initiator. PLANNEDÂ after TerminateTime. |