Я хочу сделать конкретную часть потока транзакционной. Например, я хочу выполнить первые две операции преобразования в одном транзакционном блоке. Вот код, который я использую:
@Bean
public IntegrationFlow createNumberRange() {
return IntegrationFlows.from("npEventPubSubChannel")
.transform(...)
.transform(...)// should be transactional with above transform together
.transform(...) // non transactional
.handle((payload, headers) -> numbRepository.saveAll(payload))
.get();
}
Я нашел обходной путь, добавив еще один дескриптор и направив поток на транзакционный шлюз, например:
.handle("transactionalBean", "transactionalMetod") //Then implemented messagingGateway which consists of transactional method.
Я также нашел промежуточная поддержка транзакций, но не смог найти пример для работы.
Есть ли более элегантное решение вместо перехода к другому шлюзу в середине потока?