如何在本地重现Rabbitmq AlreadyClosed Exception

时间:2017-04-10 10:05:23

标签: java rabbitmq

我有以下代码将消息发布到RabbitMQ。我有时会在制作中获得AlreadyClosed异常。我想在我的本地机器(即DEV服务器)中重现相同的问题。关于如何重现它的任何想法?

AMQP.BasicProperties.Builder props = new AMQP.BasicProperties().builder();
props = props.deliveryMode(2).headers(headers);
rabbitChannel.getChannel().basicPublish(exchangeName, routingKey,
                                props.build(), rabbitMessage.serialize());

2 个答案:

答案 0 :(得分:1)

在调试代码时显式关闭连接,然后您就可以在本地重现它。

答案 1 :(得分:1)

您可以通过Management Web UI手动关闭连接。

如果要创建在连接中断时测试应用程序行为的集成测试,则可以通过编程方式通过HTTP API关闭连接。我对RabbitMQ的本地实例运行集成测试,只需通过API请求所有打开的连接,然后在每个连接上调用DELETE。