diff --git a/quickfixj-core/src/main/java/quickfix/mina/AbstractIoHandler.java b/quickfixj-core/src/main/java/quickfix/mina/AbstractIoHandler.java index 5e60c0e1d2..8a27199b7d 100644 --- a/quickfixj-core/src/main/java/quickfix/mina/AbstractIoHandler.java +++ b/quickfixj-core/src/main/java/quickfix/mina/AbstractIoHandler.java @@ -110,12 +110,12 @@ public void sessionClosed(IoSession ioSession) throws Exception { Session quickFixSession = findQFSession(ioSession); if (quickFixSession != null) { eventHandlingStrategy.onMessage(quickFixSession, EventHandlingStrategy.END_OF_STREAM); - ioSession.removeAttribute(SessionConnector.QF_SESSION); } - ioSession.closeNow(); } catch (Exception e) { - ioSession.closeNow(); throw e; + } finally { + ioSession.removeAttribute(SessionConnector.QF_SESSION); + ioSession.closeNow(); } }