2017-03-20 33 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

对不起,我写了解析器而不是轮询器(没有足够的咖啡)。是的,配置轮询器是事务性的;事务将在源被轮询之前启动,并在下游流完成时提交。 –