How to use 'TerminateOnLogout' and 'RecreateOnLogout' properties

TOL_ROL_Matrix.xlsx

If TerminateOnLogout = false and session receives Logout:

  1. 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.
  2. 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.
  3. 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:

  1. If our session is acceptor and current time > ConnectTime and < TerminateTime – session goes into PLANNED state.
  2. If our session is initiator and current time > ConnectTime and < TerminateTime, and RecreateOnLogout = false – session goes into PLANNED state.
  3. If our session is initiator and current time > ConnectTime and < TerminateTime, and RecreateOnLogout = true â€“ session goes into RECONNECTING state.


Session life cycle:

  1. StartTime -> create session. State: DISCONNECTED. Session able to store messages from FE
  2. ConnectTime -> session connects to client. State: ESTABLISHED (or RECONNECTING if client not allowing connection)
    If ConnectTime < StartTime  wait next day.
  3. DisconnectTime -> session disconnects.  State: DISCONNECTED.  Session able to store messages from FE. waiting ConnectTime at next day 
  4. 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 StateDescription
falsefalseDISCONNECTED Session exist in FE. (can be handled)

true

falsePLANNED Session doesn't exist in FE (can't be handled)
falsetrueRECONNECTING RecreateOnLogout has more priority than TerminateOnLogout 
truetrueRECONNECTING WAITING_FOR_FIRST_LOGON for Acceptor, ESTABLISHED* for initiator. PLANNED after TerminateTime.