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

How to set autocommit false in apache camel sql batch insertion?

我正在使用 apache-camel sql-批量插入。 我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>

我想为此路由配置自动提交错误。 有人可以帮我解决这个问题吗? 仅供参考...当我使用 mybatis 进行批量插入时,mybatis 框架将自动提交设置为 false。我如何在使用飞机时做同样的事情 sql?

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

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