gpt4 book ai didi

java - 在 Qpid 上调用的 RabbitMQ Java API queuePurge() 方法返回消息计数为零的 PurgeOK 响应

转载 作者:行者123 更新时间:2023-11-30 05:37:48 25 4
gpt4 key购买 nike

我正在集成测试一个使用 RabbitMQ 客户端(amqp-client 版本 5.7.0)和嵌入式 Apache Qpid 服务器对象的组件。

调用Channel.queuePurge()方法时,队列将被清除。我可以使用 getMessageCount() 方法验证这一点。但 queuePurge() 方法返回一个 PurgeOk 对象,该对象的消息计数始终为 0。文档称 PurgeOK 返回已清除的消息计数。

   //The queue has 1 message.
int f = getMessageCount();
//verify message count
assertEquals(f, 1);
//purge
com.rabbitmq.client.AMQP.Queue.PurgeOk purgeOK= channel.queuePurge(queueName);
//the next test fails.
//Shouldn't the purgeOK have count 1, to denote that one message was purged?
assertEquals(purgeOK.getMessageCount(), 1);

只有在使用嵌入式 Qpid 服务器进行测试时才会发生这种情况。与 Rabbit MQ 的实际运行实例相同的测试用例给出了预期的结果。

这是一个已知问题吗?有没有更好的方法来对清除功能进行单元测试?

最佳答案

这不是一个已知问题,我已提出an issue针对 Qpid Broker-J 中的此缺陷。感谢您帮助发现这一点。

关于java - 在 Qpid 上调用的 RabbitMQ Java API queuePurge() 方法返回消息计数为零的 PurgeOK 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56264607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com