是不是Spring的JDBC事务不支持这种不同Connection放同一个事务里呢?
是的。jdbc级别的事务是基于connection的,原则不能跨connection进行事务管理。 不过,可以通过在不同connection之间传递的消息的方式实现将不同的connection纳入同一事务。 spring对jdbc进行了简单的封转,如果采用编码式的事务方式,可以实现在代码中对connection进行管理。如果不想引进分布式事务,可以考虑缩小事务的粒度, 通过spring的JTA提供的接口,集成第三方的或者使用应用服务器自带的分布式事务实现,可以满足你的要求,开源的有jotm、atomikos等,可以和tomcat集成。 |
|
来自: liang1234_ > 《spring事务》