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.
[DRAFT]
Session lifecycle:
- 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 exitst 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. |