1

我正在使用 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>

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

4

2 回答 2

1

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

于 2016-11-07T10:31:52.787 回答
1

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

于 2016-11-07T10:22:25.153 回答