Второе сообщение не проходит через IntegrationFlow - PullRequest
0 голосов
/ 08 октября 2019

У меня есть IntegrationFlow для приема сообщений от Kafka и маршрутизации их к конечным точкам сообщений, которые являются потребителями в этом сценарии. Я запускаю интеграционные тесты, чтобы тестировать сообщения, проходящие через поток интеграции, используя упомянутый здесь подход Как выполнить модульное тестирование Spring IntegrationFlow?

Странная вещь происходит, когда я запускаю свои интеграционные тесты отдельно, они успешно выполняются ипройти через все каналы, но когда я запускаю их как набор тестов, всегда повторяется второй тест, и сообщение не проходит через каналы. Я создал KafkaConsumer, чтобы гарантировать, что сообщение уже доставлено в тему.

Вот мой IntegrationFlow:

@Bean
    public IntegrationFlow documentCreatedFlow() {
        return IntegrationFlows
            .from(Kafka.messageDrivenChannelAdapter(consumerFactory, KafkaMessageDrivenChannelAdapter.ListenerMode.record, Topics.DOCUMENT_CREATED))
            .gateway(f -> f
                .transform(new DocumentCreatedTransformer())
                .route(messageRouter()),
                e -> e.advice(retryAdvice())
            )
            .get();
    }

Второе сообщение во втором работающем тесте не перемещается с from на gateway в вышеуказанном потоке. Я ценю любую помощь в этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...