diff --git a/client-adapter/rdb/src/main/java/com/alibaba/otter/canal/client/adapter/rdb/support/BatchExecutor.java b/client-adapter/rdb/src/main/java/com/alibaba/otter/canal/client/adapter/rdb/support/BatchExecutor.java index e9cf905f..32f9263f 100644 --- a/client-adapter/rdb/src/main/java/com/alibaba/otter/canal/client/adapter/rdb/support/BatchExecutor.java +++ b/client-adapter/rdb/src/main/java/com/alibaba/otter/canal/client/adapter/rdb/support/BatchExecutor.java @@ -52,16 +52,17 @@ public class BatchExecutor implements Closeable { } public void execute(String sql, List> values) throws SQLException { - PreparedStatement pstmt = getConn().prepareStatement(sql); - int len = values.size(); - for (int i = 0; i < len; i++) { - int type = (Integer) values.get(i).get("type"); - Object value = values.get(i).get("value"); - SyncUtil.setPStmt(type, pstmt, value, i + 1); - } + try (PreparedStatement pstmt = getConn().prepareStatement(sql)) { + int len = values.size(); + for (int i = 0; i < len; i++) { + int type = (Integer) values.get(i).get("type"); + Object value = values.get(i).get("value"); + SyncUtil.setPStmt(type, pstmt, value, i + 1); + } - pstmt.execute(); - idx.incrementAndGet(); + pstmt.execute(); + idx.incrementAndGet(); + } } public void commit() throws SQLException {