我有以下代码将消息发布到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());
答案 0 :(得分:1)
在调试代码时显式关闭连接,然后您就可以在本地重现它。
答案 1 :(得分:1)
您可以通过Management Web UI手动关闭连接。
如果要创建在连接中断时测试应用程序行为的集成测试,则可以通过编程方式通过HTTP API关闭连接。我对RabbitMQ的本地实例运行集成测试,只需通过API请求所有打开的连接,然后在每个连接上调用DELETE。