现象
今天在写一个测试类的时候报出这个异常,但是我这代码绝对没问题的呀。
发现问题:
clean channel shutdown; protocol method: #method<channel.close>(reply-code=200, reply-text=OK, class-id=0, method-id=0)
原因1
只有设置true,才能在代码中设置回调函数:
原因2
ConfirmCallback是异步的,他在执行的之后我们实际上已经关闭了rabbitmq资源 ,所以可以在最后添加上:
Thread.sleep(2000);
等待一段时间即可。
原因3
如果关闭则无法进行监听,因此此处不需要关闭:
/*channel.close();
connection.close();*/