【问题标题】:How to set autocommit false in apache camel sql batch insertion?如何在 apache camel sql 批量插入中设置 autocommit false?
【发布时间】:2017-03-20 14:37:34
【问题描述】:

我正在使用 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。使用平面 sql 时如何做同样的事情?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-08
        • 1970-01-01
        • 1970-01-01
        • 2021-10-19
        • 1970-01-01
        • 1970-01-01
        • 2019-10-12
        • 2014-08-01
        相关资源
        最近更新 更多