弹簧KafkaTestUtils:等到信息在主题将是消耗

0

的问题

因此,我面临着有趣的情况:

在我的一体化测试我送数据以2个主题,并应将它们消耗的应用程序的顺序。 在第一userTopic,则应该消耗userOrderTopic.

当我给我的消息测试,它发真的很迅速,在同一时间。 但有时,消耗通过应用程序是不同的。 (userOrder主题,然后userTopic)什么打破了我的测试。

我发现了一些triks,我怎么可能避免它纹睡眠等。 但我认为,这是不好的解决方案。

我的新卡夫卡,作为的结果与KafkaTestUtils. 是否有任何方法,该方法可以检查这条信息的话题是消耗/检查,直到这消息消耗了?

事情是这样的:

//check that message in userTopic was consumed, to have a chance send message to userOrderTopic 
KafkaTestUtils.waitUntilBeConsumed(serverBootstrap, "user-consumer", topic, 0, messageToUserTopic)

KafkaTestUtils.getNowConsumedMessage(serverBootstrap, "user-consumer", topic, 0)

P.S.在我的一体化测试,我没有挑选商品,生产者/消费者。

或者也许在春天。卡夫卡/春天。卡夫卡.试验是另一个工具,做到在适当的方式?

1

最好的答案

0

KafkaTestUtils 只是用于消费,从试验消费者不真实的应用消费者。

没有简单的解决方案为这场比赛的条件;需要等待第一次记录到被消费之前,发送的第二个。

2021-11-23 21:03:32

因此,有任何种方式来检查这一信息是cosumed? 比看起来像线。睡眠不是坏主意
Gary Russell

有几个不同的技术,例如-如果你的听众电话服务,增加一个模拟/stub的服务,在你的测试的情况下并等待它被称为;-添加一个 RecordInterceptor 的听众的容器的工厂测试的情况和等待拦截被称为;-添加一个代理周围的听众,倒计时锁的试验的情况下-看看 stackoverflow.com/questions/53678801/... 对于一个例子。

谢谢你的解释

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................