Version
4.5.16
Context
We encountered a problem, when a connection is set up with a consumer and a publisher with confirms. If the broker has insufficient memory, it will block publishers. When this happens, the publisher may wait for a confirm which is never coming and the client finally closes the channel since waitForConfirmsOrDie() is used. The problem is that the consumer which is created on the same channel is not restarted in this particular case because no ShutdownSignal is sent (which is necessary for a restart of the consumer).
I asked in the rabbitmq-java-client repo and it is possible to get a notification when a connection is blocked with Connection#addBlockedListener. So, a consumer could also get restarted after the connection is unblocked.
Steps to reproduce
No response
Do you have a reproducer?
No response
Version
4.5.16
Context
We encountered a problem, when a connection is set up with a consumer and a publisher with confirms. If the broker has insufficient memory, it will block publishers. When this happens, the publisher may wait for a confirm which is never coming and the client finally closes the channel since
waitForConfirmsOrDie()is used. The problem is that the consumer which is created on the same channel is not restarted in this particular case because no ShutdownSignal is sent (which is necessary for a restart of the consumer).I asked in the rabbitmq-java-client repo and it is possible to get a notification when a connection is blocked with
Connection#addBlockedListener. So, a consumer could also get restarted after the connection is unblocked.Steps to reproduce
No response
Do you have a reproducer?
No response