Как параметризовать объект в потоке интеграции? - PullRequest
0 голосов
/ 27 марта 2019

У меня есть поток интеграции для опроса данных из базы данных.Я установил источник сообщений, который возвращает список объектов, этот список я хочу передать методу handle в subFlow.

Это код для этих целей, но я получаю ошибку компиляции: несовместимые типы Message to List.

@Bean
    public IntegrationFlow integrationFlow(
            DataSource dataSource,
            MessageHandler amqpHandler,
            PersonService personService,
            PersonChecker personChecker) {
        return IntegrationFlows
                .from(getMessageSource(personService::getPersons), e -> e.poller(getPollerSpec()))
                .wireTap(subFlow -> subFlow.handle(personChecker::checkPerson))
                .split()
                .publishSubscribeChannel(pubSub -> pubSub
                        .subscribe(flow -> flow.bridge()
                                .transform(Transformers.toJson())
                                .handle(amqpHandler))
                        .subscribe(flow -> flow.bridge()
                                .handle(personService::markAsSent)))
                .get();
    }

Я знаю о решении передать службу и имя метода handle(personChecker, checkPerson), но оно мне не подходит.

Существует ли возможность передать в потоке wireTap метод handle список с объектами Person вместо сообщения Сообщение?

1 Ответ

0 голосов
/ 27 марта 2019
.handle((p, h) -> personService.checkPerson(p))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...