Java NotifyBuilder始终返回false

Java NotifyBuilder始终返回false,java,apache-camel,amqp,Java,Apache Camel,Amqp,我创建了一个JUnit来模拟非持久主题。到我的最后一个mockEndpoint,我希望收到0条消息 from("amqp:topic:secondStop") .routeId("secondStopRouteId").to(outputEndpoint); NotifyBuilder notifyBuilder1 = new NotifyBuilder(context).whenDone(0).create(); boolean matches1 = notifyBuilder1.match

我创建了一个JUnit来模拟非持久主题。到我的最后一个mockEndpoint,我希望收到0条消息

from("amqp:topic:secondStop")
.routeId("secondStopRouteId").to(outputEndpoint);

NotifyBuilder notifyBuilder1 = new NotifyBuilder(context).whenDone(0).create();
boolean matches1 = notifyBuilder1.matches(30, TimeUnit.SECONDS);
assertTrue(matches1);
outputEndpoint.expectedMessageCount(0);
奇怪的是,matches1总是假的。我试着用whenCompleted和weresto,没有变化。为什么我不能期望0条消息?
有线索吗?谢谢

这有点滥用了notify builder,期望0条消息。我不认为我们认为这是一个有效的用例。您这样做的用例是什么


您是希望30秒后收到0条消息,还是希望执行什么操作?

是。我想看看非持久性话题的消费反应如何。我向这个“amqp:topic:secondStop”发送了一些消息。过了一段时间,我才试着用它来消费。正如我所预期的,应该有0条消息要使用,我想看看30秒后是否仍然有0条消息。我知道“whenDone”应该涵盖我有>=0条消息(失败或成功消息)的情况。您可以在模拟端点上使用最短的等待时间来等待30秒,然后您根本不需要notify builder。