From 599ae49f8751a98cdc537d193b6a44ceeea596f3 Mon Sep 17 00:00:00 2001 From: spencergibb Date: Fri, 10 Dec 2021 12:23:50 -0500 Subject: [PATCH 1/3] Don't initialize spring.config.import bootstrapper if bootstrap on classpath. Fixes gh-288 --- .../configclient/ZookeeperConfigServerBootstrapper.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-cloud-zookeeper-discovery/src/main/java/org/springframework/cloud/zookeeper/discovery/configclient/ZookeeperConfigServerBootstrapper.java b/spring-cloud-zookeeper-discovery/src/main/java/org/springframework/cloud/zookeeper/discovery/configclient/ZookeeperConfigServerBootstrapper.java index 03c261d8..8c9fed77 100644 --- a/spring-cloud-zookeeper-discovery/src/main/java/org/springframework/cloud/zookeeper/discovery/configclient/ZookeeperConfigServerBootstrapper.java +++ b/spring-cloud-zookeeper-discovery/src/main/java/org/springframework/cloud/zookeeper/discovery/configclient/ZookeeperConfigServerBootstrapper.java @@ -45,7 +45,9 @@ public class ZookeeperConfigServerBootstrapper implements Bootstrapper { @Override @SuppressWarnings("unchecked") public void intitialize(BootstrapRegistry registry) { - if (!ClassUtils.isPresent("org.springframework.cloud.config.client.ConfigServerInstanceProvider", null)) { + if (!ClassUtils.isPresent("org.springframework.cloud.config.client.ConfigServerInstanceProvider", null) || + // don't run if bootstrap enabled, how to check the property? + ClassUtils.isPresent("org.springframework.cloud.bootstrap.marker.Marker", null)) { return; } // create curator From 583709f132c802fc0c840573280b515e30893620 Mon Sep 17 00:00:00 2001 From: spencergibb Date: Fri, 10 Dec 2021 12:50:50 -0500 Subject: [PATCH 2/3] Fixes for ZookeeperConfigServerBootstrapper inconsistencies. Do not create a property source if CuratorFramework is null in ZookeeperConfigDataLoader. Do not register CuratorFramework twice in CuratorFactory Fixes gh-290 --- .../cloud/zookeeper/config/ZookeeperConfigDataLoader.java | 4 ++++ .../org/springframework/cloud/zookeeper/CuratorFactory.java | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/spring-cloud-zookeeper-config/src/main/java/org/springframework/cloud/zookeeper/config/ZookeeperConfigDataLoader.java b/spring-cloud-zookeeper-config/src/main/java/org/springframework/cloud/zookeeper/config/ZookeeperConfigDataLoader.java index 416e234d..7e596498 100644 --- a/spring-cloud-zookeeper-config/src/main/java/org/springframework/cloud/zookeeper/config/ZookeeperConfigDataLoader.java +++ b/spring-cloud-zookeeper-config/src/main/java/org/springframework/cloud/zookeeper/config/ZookeeperConfigDataLoader.java @@ -43,6 +43,10 @@ public class ZookeeperConfigDataLoader implements ConfigDataLoader propertySources = Collections.singletonList(propertySource); diff --git a/spring-cloud-zookeeper-core/src/main/java/org/springframework/cloud/zookeeper/CuratorFactory.java b/spring-cloud-zookeeper-core/src/main/java/org/springframework/cloud/zookeeper/CuratorFactory.java index 026ad7e5..41b19064 100644 --- a/spring-cloud-zookeeper-core/src/main/java/org/springframework/cloud/zookeeper/CuratorFactory.java +++ b/spring-cloud-zookeeper-core/src/main/java/org/springframework/cloud/zookeeper/CuratorFactory.java @@ -117,8 +117,10 @@ public abstract class CuratorFactory { BootstrapContext context = event.getBootstrapContext(); if (predicate.test(context)) { CuratorFramework curatorFramework = context.get(CuratorFramework.class); - event.getApplicationContext().getBeanFactory().registerSingleton("configDataCuratorFramework", - curatorFramework); + if (!event.getApplicationContext().getBeanFactory().containsBean("configDataCuratorFramework")) { + event.getApplicationContext().getBeanFactory().registerSingleton("configDataCuratorFramework", + curatorFramework); + } } }); From 486f100f0740f120090cd3fc61a43faa41208573 Mon Sep 17 00:00:00 2001 From: spencergibb Date: Fri, 10 Dec 2021 12:57:47 -0500 Subject: [PATCH 3/3] fixes exception message --- .../cloud/zookeeper/config/ZookeeperConfigDataLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-cloud-zookeeper-config/src/main/java/org/springframework/cloud/zookeeper/config/ZookeeperConfigDataLoader.java b/spring-cloud-zookeeper-config/src/main/java/org/springframework/cloud/zookeeper/config/ZookeeperConfigDataLoader.java index 7e596498..09d6f656 100644 --- a/spring-cloud-zookeeper-config/src/main/java/org/springframework/cloud/zookeeper/config/ZookeeperConfigDataLoader.java +++ b/spring-cloud-zookeeper-config/src/main/java/org/springframework/cloud/zookeeper/config/ZookeeperConfigDataLoader.java @@ -74,7 +74,7 @@ public class ZookeeperConfigDataLoader implements ConfigDataLoader