We have a transaction that we would like to propagate across chain of events.
In this chain of events is a router, which might have multiple destinations.
Whenever the router routes the message across multiple channels the transaction is stopped and the threads are spawned by the router to move forward.
But, what we want is to follow the same set of events in a linear progression like a chain so as to retain the existing transaction(by removing /using the router if possible). How is it possible? or Is it possible at all?
Currently, we have the following code:
Code:Transaction starts above.... next comes the router.. Plan is not to start/spawn any threads by the router. Complete a single flow then start another flow and so on and so forth in a linear progression. Subsequent channel Router sends the message to should use the same message. <si:router id="RouteMessages" input-channel="forRouting" ref="MessageRouter" method="route"/> <bean id="MessageRouter" class="xx.MessageRouter"> <constructor-arg value="toRequest"/> <constructor-arg value="toProcess"/> </bean> <si:service-activator id="saProcessor" input-channel="toProcess" output-channel="toSplit" ref="messageTypeProcessor" method="service"> <si:poller receive-timeout="300000"> <si:interval-trigger interval="1"/> </si:poller> </si:service-activator> <jms:outbound-channel-adapter id="requestTopicSender" channel="toRequest" jms-template="outboundRequestTopicJmsTemplate"/>


Reply With Quote
