Je souhaite que la partie spécifique du flux soit transactionnelle. Par exemple, je veux faire les deux premières opérations de transformation en un bloc transactionnel. Voici le code de flux que j'utilise:Spring Integration DSL ajout d'une transaction mid flow
@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();
}
J'ai trouvé une solution que l'ajout d'une autre poignée et diriger le flux vers la passerelle transactionnelle comme celui-ci:
.handle("transactionalBean", "transactionalMetod") //Then implemented messagingGateway which consists of transactional method.
J'ai aussi trouvé mid flow transactional support mais n'a pas pu trouver un exemple à travailler.
Existe-t-il une solution élégante plutôt que de se diriger vers une autre passerelle au milieu du flux?