2017-03-20 36 views
0

我想創建一個Spring集成春天啓動的應用程序Spring集成事務管理使用Atomikos公司

1-Poll messages from a DB 
2-Do some processing on it 
3-Publish messages to EMS Queue 

使用Atomikos公司的事務管理。我的問題是:如果上述配置將事務處理完成所有必需的JTA配置?此外,我已經在某處閱讀過,如果在Spring Integration中創建了多個線程,例如使用Splitter,那麼上下文將不會交易。如何克服這一點?

回答

0

如果將輪詢器配置爲事務性,只要您不切換到另一個線程(例如,通過ExecutorChannelQueueChannel通道),流就會在事務中運行。

添加拆分器不會中斷事務邊界,因爲每個拆分將在同一個線程上處理。

+0

如果我使用入站通道適配器輪詢來自DB的消息,然後傳遞給分離器,轉換器,發佈者通過出站通道適配器等排隊,有沒有辦法覆蓋事務中的整個過程? –

+0

對不起,我寫了解析器而不是輪詢器(沒有足夠的咖啡)。是的,配置輪詢器是事務性的;事務將在源被輪詢之前啓動,並在下游流完成時提交。 –