mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
fix #1585
This commit is contained in:
@@ -202,7 +202,7 @@ public class RdbEtlService {
|
|||||||
StringBuilder insertSql = new StringBuilder();
|
StringBuilder insertSql = new StringBuilder();
|
||||||
insertSql.append("INSERT INTO ").append(SyncUtil.getDbTableName(dbMapping)).append(" (");
|
insertSql.append("INSERT INTO ").append(SyncUtil.getDbTableName(dbMapping)).append(" (");
|
||||||
columnsMap
|
columnsMap
|
||||||
.forEach((targetColumnName, srcColumnName) -> insertSql.append(targetColumnName).append(","));
|
.forEach((targetColumnName, srcColumnName) -> insertSql.append(targetColumnName).append(","));
|
||||||
|
|
||||||
int len = insertSql.length();
|
int len = insertSql.length();
|
||||||
insertSql.delete(len - 1, len).append(") VALUES (");
|
insertSql.delete(len - 1, len).append(") VALUES (");
|
||||||
@@ -213,16 +213,18 @@ public class RdbEtlService {
|
|||||||
len = insertSql.length();
|
len = insertSql.length();
|
||||||
insertSql.delete(len - 1, len).append(")");
|
insertSql.delete(len - 1, len).append(")");
|
||||||
try (Connection connTarget = targetDS.getConnection();
|
try (Connection connTarget = targetDS.getConnection();
|
||||||
PreparedStatement pstmt = connTarget.prepareStatement(insertSql.toString())) {
|
PreparedStatement pstmt = connTarget.prepareStatement(insertSql.toString())) {
|
||||||
connTarget.setAutoCommit(false);
|
connTarget.setAutoCommit(false);
|
||||||
|
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
|
completed = false;
|
||||||
|
|
||||||
pstmt.clearParameters();
|
pstmt.clearParameters();
|
||||||
|
|
||||||
// 删除数据
|
// 删除数据
|
||||||
Map<String, Object> values = new LinkedHashMap<>();
|
Map<String, Object> values = new LinkedHashMap<>();
|
||||||
StringBuilder deleteSql = new StringBuilder(
|
StringBuilder deleteSql = new StringBuilder(
|
||||||
"DELETE FROM " + SyncUtil.getDbTableName(dbMapping) + " WHERE ");
|
"DELETE FROM " + SyncUtil.getDbTableName(dbMapping) + " WHERE ");
|
||||||
appendCondition(dbMapping, deleteSql, values, rs);
|
appendCondition(dbMapping, deleteSql, values, rs);
|
||||||
try (PreparedStatement pstmt2 = connTarget.prepareStatement(deleteSql.toString())) {
|
try (PreparedStatement pstmt2 = connTarget.prepareStatement(deleteSql.toString())) {
|
||||||
int k = 1;
|
int k = 1;
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ public class CanalKafkaProducer implements CanalMQProducer {
|
|||||||
properties.put("max.request.size", kafkaProperties.getMaxRequestSize());
|
properties.put("max.request.size", kafkaProperties.getMaxRequestSize());
|
||||||
properties.put("buffer.memory", kafkaProperties.getBufferMemory());
|
properties.put("buffer.memory", kafkaProperties.getBufferMemory());
|
||||||
properties.put("key.serializer", StringSerializer.class.getName());
|
properties.put("key.serializer", StringSerializer.class.getName());
|
||||||
|
properties.put("max.in.flight.requests.per.connection", 1);
|
||||||
|
|
||||||
if (!kafkaProperties.getProperties().isEmpty()) {
|
if (!kafkaProperties.getProperties().isEmpty()) {
|
||||||
properties.putAll(kafkaProperties.getProperties());
|
properties.putAll(kafkaProperties.getProperties());
|
||||||
|
|||||||
Reference in New Issue
Block a user