I am new to this Spring Integration and enterprise integration patterns and had to chance to go through this spring integration and I found it’s really helpful when come to loosely coupled module level interaction. We have a legacy java web application and we are planning to rewrite/ modify it to loosely coupled modules and there is a requirement to integrate our system with external systems when needed. But I have few concerns over transaction management.
for an example we have following requirement. please have look at following image
our system has4 modules. Each module is responsible for doing one specific task. Once Module1 finish its task we need to call Module2, Module3 and module4 to do their own tasks. But all these things should run with in one transaction. (each module has own persistence layer.) For the moment we have spring jdbc templates and we use spring transaction management to handle this scenario. But if we introduce spring integration to this, is there any way of preserving this one transaction functionality. It’s all about channels and passing control to end points.
Can you guys please help me to figure it out the best way of doing this?