Details
Description
Recently, I notice that during the logou process there is a strage behaveior: sometimes in the initiator side's log file there is an unsend logon message. I think the cause is: when the initiator receive an logout from acceptor, it will call disconnect method. In the disconnect method, it will setResponder(null), then set sessionstate as the initial state and it ends. Between it sets sessionstate as the initial state and it ends. Another thread session timer thread happenedly executes at
if (!state.isLogonReceived()) {
if (state.isLogonSendNeeded())
then, it will send a logon message, but it will not succeed because the Iosession has been closed.
My solution is if (!state.isLogonReceived()&&hasResponder()) {
if (state.isLogonSendNeeded()) {
Attachments
Issue Links
- is related to
-
QFJ-218 Session time not checked while session is disconnected
- Closed