From 8728beb4b6820d794dfb4bd1d26980f4d5541fe6 Mon Sep 17 00:00:00 2001 From: agapple Date: Tue, 18 Jun 2019 22:18:30 +0800 Subject: [PATCH] fixed compile --- .../adapter/rdb/service/RdbSyncService.java | 2 +- .../manager/CanalInstanceWithManager.java | 19 ++++++++++++++----- pom.xml | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/client-adapter/rdb/src/main/java/com/alibaba/otter/canal/client/adapter/rdb/service/RdbSyncService.java b/client-adapter/rdb/src/main/java/com/alibaba/otter/canal/client/adapter/rdb/service/RdbSyncService.java index a34bb784..350b29e9 100644 --- a/client-adapter/rdb/src/main/java/com/alibaba/otter/canal/client/adapter/rdb/service/RdbSyncService.java +++ b/client-adapter/rdb/src/main/java/com/alibaba/otter/canal/client/adapter/rdb/service/RdbSyncService.java @@ -272,7 +272,7 @@ public class RdbSyncService { batchExecutor.execute(insertSql.toString(), values); } catch (SQLException e) { if (skipDupException - && (e.getMessage().contains("Duplicate entry") || e.getMessage().startsWith("ORA-00001: 违反唯一约束条件"))) { + && (e.getMessage().contains("Duplicate entry") || e.getMessage().startsWith("ORA-00001:"))) { // ignore // TODO 增加更多关系数据库的主键冲突的错误码 } else { diff --git a/instance/manager/src/main/java/com/alibaba/otter/canal/instance/manager/CanalInstanceWithManager.java b/instance/manager/src/main/java/com/alibaba/otter/canal/instance/manager/CanalInstanceWithManager.java index 43eaaf33..49030fc1 100644 --- a/instance/manager/src/main/java/com/alibaba/otter/canal/instance/manager/CanalInstanceWithManager.java +++ b/instance/manager/src/main/java/com/alibaba/otter/canal/instance/manager/CanalInstanceWithManager.java @@ -1,6 +1,7 @@ package com.alibaba.otter.canal.instance.manager; import java.io.File; +import java.io.FilenameFilter; import java.net.InetSocketAddress; import java.net.URL; import java.net.URLClassLoader; @@ -117,7 +118,13 @@ public class CanalInstanceWithManager extends AbstractCanalInstance { } else { try { File externalLibDir = new File(alarmHandlerPluginDir); - File[] jarFiles = externalLibDir.listFiles((dir1, name) -> name.endsWith(".jar")); + File[] jarFiles = externalLibDir.listFiles(new FilenameFilter() { + + @Override + public boolean accept(File dir, String name) { + return name.endsWith(".jar"); + } + }); if (jarFiles == null || jarFiles.length == 0) { throw new IllegalStateException(String.format("alarmHandlerPluginDir [%s] can't find any name endswith \".jar\" file.", alarmHandlerPluginDir)); @@ -126,14 +133,16 @@ public class CanalInstanceWithManager extends AbstractCanalInstance { for (int i = 0; i < jarFiles.length; i++) { urls[i] = jarFiles[i].toURI().toURL(); } - ClassLoader currentClassLoader = new URLClassLoader(urls, CanalInstanceWithManager.class.getClassLoader()); - Class _alarmClass = - (Class)currentClassLoader.loadClass(alarmHandlerClass); + ClassLoader currentClassLoader = new URLClassLoader(urls, + CanalInstanceWithManager.class.getClassLoader()); + Class _alarmClass = (Class) currentClassLoader.loadClass(alarmHandlerClass); alarmHandler = _alarmClass.newInstance(); logger.info("init [{}] alarm handler success.", alarmHandlerClass); } catch (Throwable e) { String errorMsg = String.format("init alarmHandlerPluginDir [%s] alarm handler [%s] error: %s", - alarmHandlerPluginDir, alarmHandlerClass, ExceptionUtils.getFullStackTrace(e)); + alarmHandlerPluginDir, + alarmHandlerClass, + ExceptionUtils.getFullStackTrace(e)); logger.error(errorMsg); throw new CanalException(errorMsg, e); } diff --git a/pom.xml b/pom.xml index 6d05a7ae..5f875209 100644 --- a/pom.xml +++ b/pom.xml @@ -253,7 +253,7 @@ com.alibaba.fastsql fastsql - 2.0.0_preview_855 + 2.0.0_preview_914 com.alibaba