I've found two places that keep references to the Channel object methods and that prevents Garbage Collecter from deleting the channel from the memory. As result, after restoring the connection the RobustConnection restores all already closed channels.
The issue reproduction steps:
Start locally RabbitMQ broker instance
Create RobustConnection to the broker and open some RobustChannel
Check in a panel (i.e. RabbitMQ management) that the channel is opened
I've found two places that keep references to the Channel object methods and that prevents
Garbage Collecter
from deleting the channel from the memory. As result, after restoring the connection theRobustConnection
restores all already closed channels.The issue reproduction steps: