봄 KafkaTestUtils:까지 기다리는 메시지에서 주제 것 소비

0

질문

그래서 저는 흥미로운 상황에 직면:

에서 내 통합 테스트 보낼 데이터를 2 주,그리고 그들은 소비에 의하여 응용 프로그램입니다. 처음에는 userTopic,그럼 당신이 사용될 userOrderTopic.

를 보낼 때에 메시지 테스트,보내는 정말 빠르게,같은 시간입니다. 그러나 때때로의 순서는 소모에 의 응용 프로그램은 다릅니다. (userOrder 항목,다음 userTopic)무엇을 나누기 내에서 테스트니다.

내가 찾는 일부 triks,나는 어떻게 피할 수 있었습니다 그것은 스레드 수면,etc. 하지만 믿는 솔루션입니다.

나는 새로운 카프카,결과적으로 가 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. 에서 내 통합 테스트가 없 accsess 을 생산자/소비자입니다.

또 어쩌면 봄입니다.kafka/봄입니다.카프카.테스트는 또 다른 도구들에서 그것을 적절한 방법이 있을까?

1

최고의 응답

0

KafkaTestUtils 은 소비에 대한 테스트에서 소비자가 실제 응용 프로그램 소비자 있습니다.

기 쉽지 않은 경우에 이상적입니다 이것에 대한 해결책을 경쟁 상태;당신을 기다릴 필요가 첫 번째 레코드를 사용될 보내기 전에 두 번째입니다.

2021-11-23 21:03:32

그래서,어떤 방법을 확인하는 메시지를 cosumed? 이처럼 보인다.잠되지 않은 나쁜 생각이
Gary Russell

거기에 몇 가지 다른 기술은 예를 들어,당신의 청취자 전화 서비스를 추가하 모/스텁의하는 서비스에서 당신의 테스트 사례를 기다릴 것이라는;-추가 RecordInterceptor 리스너 컨테이너 공장에서의 테스트 사례를 기다리 요격할라 추가 프록시의 주위에 청취자 계산하는 아 래치에서 테스트한 경우-보 stackoverflow.com/questions/53678801/... 에 대한 예입니다.

감사에 대한 설명

다른 언어로

이 페이지는 다른 언어로되어 있습니다

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