When I debug my java client code. I wait so long and rabbitmq server logs "missed heartbeats from client, timeout: 60s" error. It is ok. But after this error occurd it is impossible to connect rabbitmq server again even if I restart java client. Client side java program handle socket closed error again and again. Also it is impossible to connect rabbitmq web interface after heartbeats error. To solve this connection problem I have to restart docker desktop container. Why does rabbitmq stay in this state after heartbeats missed from client.
After restart my java client I get:
2019-04-11 11:13:36,870 ERROR c.e.b.d.w.Main [main] java.util.concurrent.TimeoutException
2019-04-11 11:13:36,870 ERROR c.r.c.i.ForgivingExceptionHandler [AMQP Connection 127.0.0.1:5672] An unexpected connection driver error occured
java.net.SocketException: Socket Closed
at java.net.SocketInputStream.socketRead0(Native Method) ~[?:1.8.0_152]
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) ~[?:1.8.0_152]
at java.net.SocketInputStream.read(SocketInputStream.java:171) ~[?:1.8.0_152]
at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[?:1.8.0_152]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) ~[?:1.8.0_152]
at java.io.BufferedInputStream.read(BufferedInputStream.java:265) ~[?:1.8.0_152]
at java.io.DataInputStream.readUnsignedByte(DataInputStream.java:288) ~[?:1.8.0_152]
at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:91) ~[amqp-client-4.1.0.jar:4.1.0]
at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:164) ~[amqp-client-4.1.0.jar:4.1.0]
at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:578) [amqp-client-4.1.0.jar:4.1.0]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]