我正在使用apache-camel sql-batch插入。 我的sql批量插入路由如下:
<pipeline>
<transform>
<method ref="insertionMyBean" method="myBatchInsertion"></method>
</transform>
<choice>
<when>
<simple>${in.header.myCount} == ${properties:batch.mySize}</simple>
<to uri="sql:{{sql.subs.insertMyBatchStatement}}?batch=true"></to>
<log message="Inserted rows ${body}"></log>
</when>
</choice>
</pipeline>
我想为此路由配置autocommit false。 有人可以帮我解决这个问题吗? 仅供参考...当我使用mybatis进行批量插入时,mybatis框架会将自动提交设置为false。使用plane sql时我该怎么做?
答案 0 :(得分:1)
Camel SQL组件使用Spring的JDBC支持,因此唯一的方法(我知道)将路由标记为transacted
- 这样一旦整个路由完成就会发生提交。
答案 1 :(得分:1)
您可以在数据源设置中设置自动提交( defaultAutoCommit )。