mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
bug fix (#2249)
This commit is contained in:
@@ -28,7 +28,7 @@ public class ESConfigMonitor {
|
|||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ESConfigMonitor.class);
|
private static final Logger logger = LoggerFactory.getLogger(ESConfigMonitor.class);
|
||||||
|
|
||||||
private static final String adapterName = "es";
|
private String adapterName;
|
||||||
|
|
||||||
private ESAdapter esAdapter;
|
private ESAdapter esAdapter;
|
||||||
|
|
||||||
@@ -39,6 +39,7 @@ public class ESConfigMonitor {
|
|||||||
public void init(ESAdapter esAdapter, Properties envProperties) {
|
public void init(ESAdapter esAdapter, Properties envProperties) {
|
||||||
this.esAdapter = esAdapter;
|
this.esAdapter = esAdapter;
|
||||||
this.envProperties = envProperties;
|
this.envProperties = envProperties;
|
||||||
|
this.adapterName = envProperties.getProperty("es.version");
|
||||||
File confDir = Util.getConfDirPath(adapterName);
|
File confDir = Util.getConfDirPath(adapterName);
|
||||||
try {
|
try {
|
||||||
FileAlterationObserver observer = new FileAlterationObserver(confDir,
|
FileAlterationObserver observer = new FileAlterationObserver(confDir,
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
import java.util.concurrent.CopyOnWriteArrayList;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -63,10 +64,10 @@ public class CanalAdapterLoader {
|
|||||||
if ("tcp".equalsIgnoreCase(canalClientConfig.getMode())) {
|
if ("tcp".equalsIgnoreCase(canalClientConfig.getMode())) {
|
||||||
// 初始化canal-client的适配器
|
// 初始化canal-client的适配器
|
||||||
for (CanalClientConfig.CanalAdapter canalAdapter : canalClientConfig.getCanalAdapters()) {
|
for (CanalClientConfig.CanalAdapter canalAdapter : canalClientConfig.getCanalAdapters()) {
|
||||||
List<List<OuterAdapter>> canalOuterAdapterGroups = new ArrayList<>();
|
List<List<OuterAdapter>> canalOuterAdapterGroups = new CopyOnWriteArrayList<>();
|
||||||
|
|
||||||
for (CanalClientConfig.Group connectorGroup : canalAdapter.getGroups()) {
|
for (CanalClientConfig.Group connectorGroup : canalAdapter.getGroups()) {
|
||||||
List<OuterAdapter> canalOutConnectors = new ArrayList<>();
|
List<OuterAdapter> canalOutConnectors = new CopyOnWriteArrayList<>();
|
||||||
for (OuterAdapterConfig c : connectorGroup.getOuterAdapters()) {
|
for (OuterAdapterConfig c : connectorGroup.getOuterAdapters()) {
|
||||||
loadAdapter(c, canalOutConnectors);
|
loadAdapter(c, canalOutConnectors);
|
||||||
}
|
}
|
||||||
@@ -94,8 +95,8 @@ public class CanalAdapterLoader {
|
|||||||
// 初始化canal-client-kafka的适配器
|
// 初始化canal-client-kafka的适配器
|
||||||
for (CanalClientConfig.CanalAdapter canalAdapter : canalClientConfig.getCanalAdapters()) {
|
for (CanalClientConfig.CanalAdapter canalAdapter : canalClientConfig.getCanalAdapters()) {
|
||||||
for (CanalClientConfig.Group group : canalAdapter.getGroups()) {
|
for (CanalClientConfig.Group group : canalAdapter.getGroups()) {
|
||||||
List<List<OuterAdapter>> canalOuterAdapterGroups = new ArrayList<>();
|
List<List<OuterAdapter>> canalOuterAdapterGroups = new CopyOnWriteArrayList<>();
|
||||||
List<OuterAdapter> canalOuterAdapters = new ArrayList<>();
|
List<OuterAdapter> canalOuterAdapters = new CopyOnWriteArrayList<>();
|
||||||
for (OuterAdapterConfig config : group.getOuterAdapters()) {
|
for (OuterAdapterConfig config : group.getOuterAdapters()) {
|
||||||
loadAdapter(config, canalOuterAdapters);
|
loadAdapter(config, canalOuterAdapters);
|
||||||
}
|
}
|
||||||
@@ -117,8 +118,8 @@ public class CanalAdapterLoader {
|
|||||||
// 初始化canal-client-rocketMQ的适配器
|
// 初始化canal-client-rocketMQ的适配器
|
||||||
for (CanalClientConfig.CanalAdapter canalAdapter : canalClientConfig.getCanalAdapters()) {
|
for (CanalClientConfig.CanalAdapter canalAdapter : canalClientConfig.getCanalAdapters()) {
|
||||||
for (CanalClientConfig.Group group : canalAdapter.getGroups()) {
|
for (CanalClientConfig.Group group : canalAdapter.getGroups()) {
|
||||||
List<List<OuterAdapter>> canalOuterAdapterGroups = new ArrayList<>();
|
List<List<OuterAdapter>> canalOuterAdapterGroups = new CopyOnWriteArrayList<>();
|
||||||
List<OuterAdapter> canalOuterAdapters = new ArrayList<>();
|
List<OuterAdapter> canalOuterAdapters = new CopyOnWriteArrayList<>();
|
||||||
for (OuterAdapterConfig config : group.getOuterAdapters()) {
|
for (OuterAdapterConfig config : group.getOuterAdapters()) {
|
||||||
loadAdapter(config, canalOuterAdapters);
|
loadAdapter(config, canalOuterAdapters);
|
||||||
}
|
}
|
||||||
@@ -146,8 +147,8 @@ public class CanalAdapterLoader {
|
|||||||
// 初始化canal-client-rabbitMQ的适配器
|
// 初始化canal-client-rabbitMQ的适配器
|
||||||
for (CanalClientConfig.CanalAdapter canalAdapter : canalClientConfig.getCanalAdapters()) {
|
for (CanalClientConfig.CanalAdapter canalAdapter : canalClientConfig.getCanalAdapters()) {
|
||||||
for (CanalClientConfig.Group group : canalAdapter.getGroups()) {
|
for (CanalClientConfig.Group group : canalAdapter.getGroups()) {
|
||||||
List<List<OuterAdapter>> canalOuterAdapterGroups = new ArrayList<>();
|
List<List<OuterAdapter>> canalOuterAdapterGroups = new CopyOnWriteArrayList<>();
|
||||||
List<OuterAdapter> canalOuterAdapters = new ArrayList<>();
|
List<OuterAdapter> canalOuterAdapters = new CopyOnWriteArrayList<>();
|
||||||
for (OuterAdapterConfig config : group.getOuterAdapters()) {
|
for (OuterAdapterConfig config : group.getOuterAdapters()) {
|
||||||
loadAdapter(config, canalOuterAdapters);
|
loadAdapter(config, canalOuterAdapters);
|
||||||
}
|
}
|
||||||
@@ -184,7 +185,7 @@ public class CanalAdapterLoader {
|
|||||||
if (propertySource instanceof EnumerablePropertySource) {
|
if (propertySource instanceof EnumerablePropertySource) {
|
||||||
String[] names = ((EnumerablePropertySource<?>) propertySource).getPropertyNames();
|
String[] names = ((EnumerablePropertySource<?>) propertySource).getPropertyNames();
|
||||||
for (String name : names) {
|
for (String name : names) {
|
||||||
Object val = propertySource.getProperty(name);
|
Object val = env.getProperty(name);
|
||||||
if (val != null) {
|
if (val != null) {
|
||||||
evnProperties.put(name, val);
|
evnProperties.put(name, val);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user