diff --git a/src/java/org/jivesoftware/multiplexer/net/ConnectionHandler.java b/src/java/org/jivesoftware/multiplexer/net/ConnectionHandler.java index 20f2ea6..9d2e927 100644 --- a/src/java/org/jivesoftware/multiplexer/net/ConnectionHandler.java +++ b/src/java/org/jivesoftware/multiplexer/net/ConnectionHandler.java @@ -14,6 +14,7 @@ import org.apache.mina.common.IdleStatus; import org.apache.mina.common.IoHandlerAdapter; import org.apache.mina.common.IoSession; +import org.apache.mina.filter.codec.ProtocolDecoderException; import org.jivesoftware.multiplexer.Connection; import org.jivesoftware.multiplexer.ConnectionManager; import org.jivesoftware.multiplexer.PacketRouter; @@ -98,6 +99,10 @@ // TODO Verify if there were packets pending to be sent and decide what to do with them Log.debug(cause); } + else if (cause instanceof ProtocolDecoderException) { + Log.warn("Closing session due to exception: " + session, cause); + session.close(); + } else { Log.error(cause); }