diff --git a/client-adapter/common/src/main/java/com/alibaba/otter/canal/client/adapter/support/YamlUtils.java b/client-adapter/common/src/main/java/com/alibaba/otter/canal/client/adapter/support/YamlUtils.java index 587f56c6..61a3c2bd 100644 --- a/client-adapter/common/src/main/java/com/alibaba/otter/canal/client/adapter/support/YamlUtils.java +++ b/client-adapter/common/src/main/java/com/alibaba/otter/canal/client/adapter/support/YamlUtils.java @@ -25,6 +25,9 @@ import org.springframework.util.PropertyPlaceholderHelper; public class YamlUtils { public static T resourceYmlToObj(String resource, String prefix, Class clazz) { + if (!StringUtils.startsWithIgnoreCase("classpath:", resource)) { + resource = "classpath:" + resource; + } ClassPathResource classPathResource = new ClassPathResource(resource); String content; diff --git a/instance/manager/src/main/java/com/alibaba/otter/canal/instance/manager/PlainCanalInstanceGenerator.java b/instance/manager/src/main/java/com/alibaba/otter/canal/instance/manager/PlainCanalInstanceGenerator.java index b909f2b0..c14fc93c 100644 --- a/instance/manager/src/main/java/com/alibaba/otter/canal/instance/manager/PlainCanalInstanceGenerator.java +++ b/instance/manager/src/main/java/com/alibaba/otter/canal/instance/manager/PlainCanalInstanceGenerator.java @@ -2,6 +2,7 @@ package com.alibaba.otter.canal.instance.manager; import java.util.Properties; +import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.BeanFactory; @@ -69,6 +70,9 @@ public class PlainCanalInstanceGenerator implements CanalInstanceGenerator { // ================ setter / getter ================ private BeanFactory getBeanFactory(String springXml) { + if (!StringUtils.startsWithIgnoreCase("classpath:", springXml)) { + springXml = "classpath:" + springXml; + } ApplicationContext applicationContext = new ClassPathXmlApplicationContext(springXml); return applicationContext; } diff --git a/instance/spring/src/main/java/com/alibaba/otter/canal/instance/spring/SpringCanalInstanceGenerator.java b/instance/spring/src/main/java/com/alibaba/otter/canal/instance/spring/SpringCanalInstanceGenerator.java index 9416b92d..a8542b6b 100644 --- a/instance/spring/src/main/java/com/alibaba/otter/canal/instance/spring/SpringCanalInstanceGenerator.java +++ b/instance/spring/src/main/java/com/alibaba/otter/canal/instance/spring/SpringCanalInstanceGenerator.java @@ -1,5 +1,6 @@ package com.alibaba.otter.canal.instance.spring; +import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.BeanFactory; @@ -44,6 +45,9 @@ public class SpringCanalInstanceGenerator implements CanalInstanceGenerator { } private BeanFactory getBeanFactory(String springXml) { + if (!StringUtils.startsWithIgnoreCase("classpath:", springXml)) { + springXml = "classpath:" + springXml; + } ApplicationContext applicationContext = new ClassPathXmlApplicationContext(springXml); return applicationContext; } diff --git a/instance/spring/src/test/java/com/alibaba/otter/canal/instance/spring/integrated/DefaultSpringInstanceTest.java b/instance/spring/src/test/java/com/alibaba/otter/canal/instance/spring/integrated/DefaultSpringInstanceTest.java index 6918b0e6..1f5b4d15 100644 --- a/instance/spring/src/test/java/com/alibaba/otter/canal/instance/spring/integrated/DefaultSpringInstanceTest.java +++ b/instance/spring/src/test/java/com/alibaba/otter/canal/instance/spring/integrated/DefaultSpringInstanceTest.java @@ -24,7 +24,7 @@ public class DefaultSpringInstanceTest { @Before public void start() { System.setProperty("canal.instance.destination", "retl"); - context = new ClassPathXmlApplicationContext(new String[] { "spring/default-instance.xml" }); + context = new ClassPathXmlApplicationContext(new String[] { "classpath:spring/default-instance.xml" }); } @After diff --git a/instance/spring/src/test/java/com/alibaba/otter/canal/instance/spring/integrated/GroupSpringInstanceTest.java b/instance/spring/src/test/java/com/alibaba/otter/canal/instance/spring/integrated/GroupSpringInstanceTest.java index 73c1b3ae..8b13b921 100644 --- a/instance/spring/src/test/java/com/alibaba/otter/canal/instance/spring/integrated/GroupSpringInstanceTest.java +++ b/instance/spring/src/test/java/com/alibaba/otter/canal/instance/spring/integrated/GroupSpringInstanceTest.java @@ -24,7 +24,7 @@ public class GroupSpringInstanceTest { @Before public void start() { System.setProperty("canal.instance.destination", "retl"); - context = new ClassPathXmlApplicationContext(new String[] { "spring/group-instance.xml" }); + context = new ClassPathXmlApplicationContext(new String[] { "classpath:spring/group-instance.xml" }); } @After diff --git a/instance/spring/src/test/java/com/alibaba/otter/canal/instance/spring/integrated/MemorySpringInstanceTest.java b/instance/spring/src/test/java/com/alibaba/otter/canal/instance/spring/integrated/MemorySpringInstanceTest.java index e95092e1..ee50ff7c 100644 --- a/instance/spring/src/test/java/com/alibaba/otter/canal/instance/spring/integrated/MemorySpringInstanceTest.java +++ b/instance/spring/src/test/java/com/alibaba/otter/canal/instance/spring/integrated/MemorySpringInstanceTest.java @@ -24,7 +24,7 @@ public class MemorySpringInstanceTest { @Before public void start() { System.setProperty("canal.instance.destination", "retl"); - context = new ClassPathXmlApplicationContext(new String[] { "spring/memory-instance.xml" }); + context = new ClassPathXmlApplicationContext(new String[] { "classpath:spring/memory-instance.xml" }); } @After diff --git a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/TableMetaTSDBBuilder.java b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/TableMetaTSDBBuilder.java index 75b97f14..e709cf46 100644 --- a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/TableMetaTSDBBuilder.java +++ b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/TableMetaTSDBBuilder.java @@ -30,6 +30,9 @@ public class TableMetaTSDBBuilder { if (applicationContext == null) { synchronized (contexts) { if (applicationContext == null) { + if (!StringUtils.startsWithIgnoreCase("classpath:", springXml)) { + springXml = "classpath:" + springXml; + } applicationContext = new ClassPathXmlApplicationContext(springXml); contexts.put(destination, applicationContext); }