如何在apache camel sql批量插入中设置autocommit false?

时间:2016-11-07 09:41:50

标签: java apache-camel batch-processing camel-sql

我正在使用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时我该怎么做?

2 个答案:

答案 0 :(得分:1)

Camel SQL组件使用Spring的JDBC支持,因此唯一的方法(我知道)将路由标记为transacted - 这样一旦整个路由完成就会发生提交。

答案 1 :(得分:1)

您可以在数据源设置中设置自动提交( defaultAutoCommit )。