Closed
Description
I described my problem here - #236
As per suggestion, I tried using v4.0.1 version of the library with NIO to work around the issue.
The good thing is that that version does indeed detect connection problem much faster that 15 minutes that it used to take for previous version. The bad thing is that NIO main thread catches unhandled exception and terminates rendering the whole application unusable.
SEVERE: Unhandled exception. Aborting.
Throwable occurred: java.lang.AssertionError: BlockingCell can only be set once
at com.rabbitmq.utility.BlockingCell.set (BlockingCell.java:141)
at com.rabbitmq.client.impl.AMQConnection.doFinalShutdown (AMQConnection.java:681)
at com.rabbitmq.client.impl.AMQConnection.handleHeartbeatFailure (AMQConnection.java:654)
at com.rabbitmq.client.impl.nio.NioLoop.run (NioLoop.java:78)
at java.lang.Thread.run (Unknown Source, bco=11)
I cannot easily reproduce it as I do not know what that bloody piece of network equipment does but it feels like it just stops outgoing packets from he client machine at some point while still allowing incoming ones.
previous exceptions that lead to the one above
Jan 16, 2017 11:45:56 AM com.rabbitmq.client.impl.nio.NioLoop run
WARNING: Error during reading frames
Throwable occurred: javax.net.ssl.SSLException: closed in read
at com.rabbitmq.client.impl.nio.SslEngineByteBufferInputStream.read (SslEngineByteBufferInputStream.java:89)
at java.io.DataInputStream.readUnsignedByte (Unknown Source, bco=4)
at com.rabbitmq.client.impl.Frame.readFrom (Frame.java:91)
at com.rabbitmq.client.impl.nio.NioLoop.run (NioLoop.java:149)
at java.lang.Thread.run (Unknown Source, bco=11)
Jan 16, 2017 11:45:56 AM com.rabbitmq.client.impl.ForgivingExceptionHandler log
SEVERE: An unexpected connection driver error occured
Throwable occurred: com.rabbitmq.client.MissedHeartbeatException: Heartbeat missing with heartbeat = 30 seconds
at com.rabbitmq.client.impl.AMQConnection.handleHeartbeatFailure (AMQConnection.java:648)
at com.rabbitmq.client.impl.nio.NioLoop.run (NioLoop.java:78)
at java.lang.Thread.run (Unknown Source, bco=11)
Jan 16, 2017 11:45:56 AM com.rabbitmq.client.impl.ForgivingExceptionHandler log
SEVERE: An unexpected connection driver error occured
Throwable occurred: javax.net.ssl.SSLException: closed in read
at com.rabbitmq.client.impl.nio.SslEngineByteBufferInputStream.read (SslEngineByteBufferInputStream.java:89)
at java.io.DataInputStream.readUnsignedByte (Unknown Source, bco=4)
at com.rabbitmq.client.impl.Frame.readFrom (Frame.java:91)
at com.rabbitmq.client.impl.nio.NioLoop.run (NioLoop.java:149)
at java.lang.Thread.run (Unknown Source, bco=11)