Exception bei Verbindungsabbruch

Added by jnywlkr 5 months ago

Hallo,
ich habe danach schon im Forum gesucht, aber nichts gefunden. Wenn die Verbindung eines Clients abbricht (z.B. Client abgestürzt), wird folgende Exception auf dem Server geworfen:

Jul 14, 2017 7:13:36 PM de.root1.simon.Dispatcher exceptionCaught
SCHWERWIEGEND: exception Caught. thread=NioProcessor-2 session=0x00000001. Exception:
 java.io.IOException: Eine vorhandene Verbindung wurde vom Remotehost geschlossen
    at sun.nio.ch.SocketDispatcher.read0(Native Method)
    at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
    at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
    at sun.nio.ch.IOUtil.read(IOUtil.java:197)
    at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
    at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:312)
    at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:45)
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:677)
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:651)
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:640)
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:68)
    at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1097)
    at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Diese Exception würde ich gerne fangen, sodass sie nicht angezeigt wird und ich auf den Verbindungsabbruch reagieren kann. Ich habe bis jetzt keine Möglichkeit gefunden dies zu tun.
Vielen Dank im Voraus.

Gruß
jnywlkr


Replies (1)

RE: Exception bei Verbindungsabbruch - Added by achristian 5 months ago

Das ist keine geworfene Exception, das ist eine Log-Meldung die einen Exception Stacktrace beinhaltet. Wenn die Meldung nicht mehr erscheinen soll, musst du dem Logger verbieten im Log-Level "warning" zu loggen.

Wenn ein Client wegfällt, kannst du mit dem Session Pattern optimal daraif reagieren:
http://dev.root1.de/projects/simon/wiki/Sample_session_pattern

Gruß
Alex

(1-1/1)