From 3db6baee70158226ea4b7044be5d8f1b382b8d7c Mon Sep 17 00:00:00 2001 From: buildmaster Date: Thu, 30 Jun 2022 14:57:32 +0000 Subject: [PATCH 1/9] Bumping versions --- docs/src/main/asciidoc/_configprops.adoc | 32 ++++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/src/main/asciidoc/_configprops.adoc b/docs/src/main/asciidoc/_configprops.adoc index 79cff1fa..4559fbc9 100644 --- a/docs/src/main/asciidoc/_configprops.adoc +++ b/docs/src/main/asciidoc/_configprops.adoc @@ -1,34 +1,34 @@ |=== |Name | Default | Description -|spring.cloud.zookeeper.base-sleep-time-ms | `50` | Initial amount of time to wait between retries. +|spring.cloud.zookeeper.base-sleep-time-ms | `+++50+++` | Initial amount of time to wait between retries. |spring.cloud.zookeeper.block-until-connected-unit | | The unit of time related to blocking on connection to Zookeeper. -|spring.cloud.zookeeper.block-until-connected-wait | `10` | Wait time to block on connection to Zookeeper. -|spring.cloud.zookeeper.config.default-context | `application` | The name of the default context. -|spring.cloud.zookeeper.config.enabled | `true` | -|spring.cloud.zookeeper.config.fail-fast | `true` | Throw exceptions during config lookup if true, otherwise, log warnings. +|spring.cloud.zookeeper.block-until-connected-wait | `+++10+++` | Wait time to block on connection to Zookeeper. +|spring.cloud.zookeeper.config.default-context | `+++application+++` | The name of the default context. +|spring.cloud.zookeeper.config.enabled | `+++true+++` | +|spring.cloud.zookeeper.config.fail-fast | `+++true+++` | Throw exceptions during config lookup if true, otherwise, log warnings. |spring.cloud.zookeeper.config.name | | Alternative to spring.application.name to use in looking up values in zookeeper. -|spring.cloud.zookeeper.config.profile-separator | `,` | Separator for profile appended to the application name. -|spring.cloud.zookeeper.config.root | `config` | Root folder where the configuration for Zookeeper is kept. -|spring.cloud.zookeeper.connect-string | `localhost:2181` | Connection string to the Zookeeper cluster. +|spring.cloud.zookeeper.config.profile-separator | `+++,+++` | Separator for profile appended to the application name. +|spring.cloud.zookeeper.config.root | `+++config+++` | Root folder where the configuration for Zookeeper is kept. +|spring.cloud.zookeeper.connect-string | `+++localhost:2181+++` | Connection string to the Zookeeper cluster. |spring.cloud.zookeeper.connection-timeout | | The configured connection timeout in milliseconds. |spring.cloud.zookeeper.dependencies | | Mapping of alias to ZookeeperDependency. From LoadBalancer perspective the alias is actually serviceID since SC LoadBalancer can't accept nested structures in serviceID. |spring.cloud.zookeeper.dependency-configurations | | |spring.cloud.zookeeper.dependency-names | | -|spring.cloud.zookeeper.discovery.enabled | `true` | +|spring.cloud.zookeeper.discovery.enabled | `+++true+++` | |spring.cloud.zookeeper.discovery.initial-status | | The initial status of this instance (defaults to {@link StatusConstants#STATUS_UP}). |spring.cloud.zookeeper.discovery.instance-host | | Predefined host with which a service can register itself in Zookeeper. Corresponds to the {code address} from the URI spec. |spring.cloud.zookeeper.discovery.instance-id | | Id used to register with zookeeper. Defaults to a random UUID. |spring.cloud.zookeeper.discovery.instance-port | | Port to register the service under (defaults to listening port). |spring.cloud.zookeeper.discovery.instance-ssl-port | | Ssl port of the registered service. |spring.cloud.zookeeper.discovery.metadata | | Gets the metadata name/value pairs associated with this instance. This information is sent to zookeeper and can be used by other instances. -|spring.cloud.zookeeper.discovery.order | `0` | Order of the discovery client used by `CompositeDiscoveryClient` for sorting available clients. -|spring.cloud.zookeeper.discovery.register | `true` | Register as a service in zookeeper. -|spring.cloud.zookeeper.discovery.root | `/services` | Root Zookeeper folder in which all instances are registered. -|spring.cloud.zookeeper.discovery.uri-spec | `{scheme}://{address}:{port}` | The URI specification to resolve during service registration in Zookeeper. -|spring.cloud.zookeeper.enabled | `true` | Is Zookeeper enabled. -|spring.cloud.zookeeper.max-retries | `10` | Max number of times to retry. -|spring.cloud.zookeeper.max-sleep-ms | `500` | Max time in ms to sleep on each retry. +|spring.cloud.zookeeper.discovery.order | `+++0+++` | Order of the discovery client used by `CompositeDiscoveryClient` for sorting available clients. +|spring.cloud.zookeeper.discovery.register | `+++true+++` | Register as a service in zookeeper. +|spring.cloud.zookeeper.discovery.root | `+++/services+++` | Root Zookeeper folder in which all instances are registered. +|spring.cloud.zookeeper.discovery.uri-spec | `+++{scheme}://{address}:{port}+++` | The URI specification to resolve during service registration in Zookeeper. +|spring.cloud.zookeeper.enabled | `+++true+++` | Is Zookeeper enabled. +|spring.cloud.zookeeper.max-retries | `+++10+++` | Max number of times to retry. +|spring.cloud.zookeeper.max-sleep-ms | `+++500+++` | Max time in ms to sleep on each retry. |spring.cloud.zookeeper.prefix | | Common prefix that will be applied to all Zookeeper dependencies' paths. |spring.cloud.zookeeper.session-timeout | | The configured/negotiated session timeout in milliseconds. Please refer to Curator's Tech Note 14 to understand how Curator implements connection sessions. @see Curator's Tech Note 14 From 8c6ca442518b6b180a83e3615412724911d097ff Mon Sep 17 00:00:00 2001 From: buildmaster Date: Sat, 3 Sep 2022 00:19:52 +0000 Subject: [PATCH 2/9] Update SNAPSHOT to 3.1.3 --- docs/pom.xml | 2 +- pom.xml | 12 ++++++------ spring-cloud-starter-zookeeper-all/pom.xml | 2 +- spring-cloud-starter-zookeeper-config/pom.xml | 2 +- spring-cloud-starter-zookeeper-discovery/pom.xml | 2 +- spring-cloud-starter-zookeeper/pom.xml | 2 +- spring-cloud-zookeeper-config/pom.xml | 2 +- spring-cloud-zookeeper-core/pom.xml | 2 +- spring-cloud-zookeeper-dependencies/pom.xml | 4 ++-- spring-cloud-zookeeper-discovery/pom.xml | 2 +- spring-cloud-zookeeper-sample/pom.xml | 2 +- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/pom.xml b/docs/pom.xml index 7a15d72c..11e8f289 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.3 spring-cloud-zookeeper-docs jar diff --git a/pom.xml b/pom.xml index 81d36589..43b43133 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.3 pom Spring Cloud Zookeeper Spring Cloud Zookeeper @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-build - 3.1.4-SNAPSHOT + 3.1.4 @@ -138,10 +138,10 @@ - 3.1.4-SNAPSHOT - 3.1.4-SNAPSHOT - 3.1.4-SNAPSHOT - 3.1.4-SNAPSHOT + 3.1.4 + 3.1.4 + 3.1.4 + 3.1.4 diff --git a/spring-cloud-starter-zookeeper-all/pom.xml b/spring-cloud-starter-zookeeper-all/pom.xml index 71a47412..e8bf9698 100644 --- a/spring-cloud-starter-zookeeper-all/pom.xml +++ b/spring-cloud-starter-zookeeper-all/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.3 .. spring-cloud-starter-zookeeper-all diff --git a/spring-cloud-starter-zookeeper-config/pom.xml b/spring-cloud-starter-zookeeper-config/pom.xml index 92610605..321e95cf 100644 --- a/spring-cloud-starter-zookeeper-config/pom.xml +++ b/spring-cloud-starter-zookeeper-config/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.3 .. spring-cloud-starter-zookeeper-config diff --git a/spring-cloud-starter-zookeeper-discovery/pom.xml b/spring-cloud-starter-zookeeper-discovery/pom.xml index b6b70a65..ec473395 100644 --- a/spring-cloud-starter-zookeeper-discovery/pom.xml +++ b/spring-cloud-starter-zookeeper-discovery/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.3 .. spring-cloud-starter-zookeeper-discovery diff --git a/spring-cloud-starter-zookeeper/pom.xml b/spring-cloud-starter-zookeeper/pom.xml index b3df1fa1..b8b4e778 100644 --- a/spring-cloud-starter-zookeeper/pom.xml +++ b/spring-cloud-starter-zookeeper/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.3 .. spring-cloud-starter-zookeeper diff --git a/spring-cloud-zookeeper-config/pom.xml b/spring-cloud-zookeeper-config/pom.xml index 40cb7cde..151ad077 100644 --- a/spring-cloud-zookeeper-config/pom.xml +++ b/spring-cloud-zookeeper-config/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.3 .. diff --git a/spring-cloud-zookeeper-core/pom.xml b/spring-cloud-zookeeper-core/pom.xml index bf6be7d9..25d547c7 100644 --- a/spring-cloud-zookeeper-core/pom.xml +++ b/spring-cloud-zookeeper-core/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.3 .. diff --git a/spring-cloud-zookeeper-dependencies/pom.xml b/spring-cloud-zookeeper-dependencies/pom.xml index d70a010f..0b081b00 100644 --- a/spring-cloud-zookeeper-dependencies/pom.xml +++ b/spring-cloud-zookeeper-dependencies/pom.xml @@ -5,11 +5,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 3.1.4-SNAPSHOT + 3.1.4 spring-cloud-zookeeper-dependencies - 3.1.3-SNAPSHOT + 3.1.3 pom spring-cloud-zookeeper-dependencies Spring Cloud Zookeeper Dependencies diff --git a/spring-cloud-zookeeper-discovery/pom.xml b/spring-cloud-zookeeper-discovery/pom.xml index 51986779..3bf4ebc8 100644 --- a/spring-cloud-zookeeper-discovery/pom.xml +++ b/spring-cloud-zookeeper-discovery/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.3 .. diff --git a/spring-cloud-zookeeper-sample/pom.xml b/spring-cloud-zookeeper-sample/pom.xml index 627eddae..70be02c9 100644 --- a/spring-cloud-zookeeper-sample/pom.xml +++ b/spring-cloud-zookeeper-sample/pom.xml @@ -11,7 +11,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.3 .. From b34465a3e43d32eab1d32f5bc6b9555ef1c232ea Mon Sep 17 00:00:00 2001 From: buildmaster Date: Sat, 3 Sep 2022 00:22:34 +0000 Subject: [PATCH 3/9] Going back to snapshots --- docs/pom.xml | 2 +- pom.xml | 12 ++++++------ spring-cloud-starter-zookeeper-all/pom.xml | 2 +- spring-cloud-starter-zookeeper-config/pom.xml | 2 +- spring-cloud-starter-zookeeper-discovery/pom.xml | 2 +- spring-cloud-starter-zookeeper/pom.xml | 2 +- spring-cloud-zookeeper-config/pom.xml | 2 +- spring-cloud-zookeeper-core/pom.xml | 2 +- spring-cloud-zookeeper-dependencies/pom.xml | 4 ++-- spring-cloud-zookeeper-discovery/pom.xml | 2 +- spring-cloud-zookeeper-sample/pom.xml | 2 +- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/pom.xml b/docs/pom.xml index 11e8f289..7a15d72c 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.3-SNAPSHOT spring-cloud-zookeeper-docs jar diff --git a/pom.xml b/pom.xml index 43b43133..81d36589 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 spring-cloud-zookeeper - 3.1.3 + 3.1.3-SNAPSHOT pom Spring Cloud Zookeeper Spring Cloud Zookeeper @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-build - 3.1.4 + 3.1.4-SNAPSHOT @@ -138,10 +138,10 @@ - 3.1.4 - 3.1.4 - 3.1.4 - 3.1.4 + 3.1.4-SNAPSHOT + 3.1.4-SNAPSHOT + 3.1.4-SNAPSHOT + 3.1.4-SNAPSHOT diff --git a/spring-cloud-starter-zookeeper-all/pom.xml b/spring-cloud-starter-zookeeper-all/pom.xml index e8bf9698..71a47412 100644 --- a/spring-cloud-starter-zookeeper-all/pom.xml +++ b/spring-cloud-starter-zookeeper-all/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.3-SNAPSHOT .. spring-cloud-starter-zookeeper-all diff --git a/spring-cloud-starter-zookeeper-config/pom.xml b/spring-cloud-starter-zookeeper-config/pom.xml index 321e95cf..92610605 100644 --- a/spring-cloud-starter-zookeeper-config/pom.xml +++ b/spring-cloud-starter-zookeeper-config/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.3-SNAPSHOT .. spring-cloud-starter-zookeeper-config diff --git a/spring-cloud-starter-zookeeper-discovery/pom.xml b/spring-cloud-starter-zookeeper-discovery/pom.xml index ec473395..b6b70a65 100644 --- a/spring-cloud-starter-zookeeper-discovery/pom.xml +++ b/spring-cloud-starter-zookeeper-discovery/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.3-SNAPSHOT .. spring-cloud-starter-zookeeper-discovery diff --git a/spring-cloud-starter-zookeeper/pom.xml b/spring-cloud-starter-zookeeper/pom.xml index b8b4e778..b3df1fa1 100644 --- a/spring-cloud-starter-zookeeper/pom.xml +++ b/spring-cloud-starter-zookeeper/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.3-SNAPSHOT .. spring-cloud-starter-zookeeper diff --git a/spring-cloud-zookeeper-config/pom.xml b/spring-cloud-zookeeper-config/pom.xml index 151ad077..40cb7cde 100644 --- a/spring-cloud-zookeeper-config/pom.xml +++ b/spring-cloud-zookeeper-config/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.3-SNAPSHOT .. diff --git a/spring-cloud-zookeeper-core/pom.xml b/spring-cloud-zookeeper-core/pom.xml index 25d547c7..bf6be7d9 100644 --- a/spring-cloud-zookeeper-core/pom.xml +++ b/spring-cloud-zookeeper-core/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.3-SNAPSHOT .. diff --git a/spring-cloud-zookeeper-dependencies/pom.xml b/spring-cloud-zookeeper-dependencies/pom.xml index 0b081b00..d70a010f 100644 --- a/spring-cloud-zookeeper-dependencies/pom.xml +++ b/spring-cloud-zookeeper-dependencies/pom.xml @@ -5,11 +5,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 3.1.4 + 3.1.4-SNAPSHOT spring-cloud-zookeeper-dependencies - 3.1.3 + 3.1.3-SNAPSHOT pom spring-cloud-zookeeper-dependencies Spring Cloud Zookeeper Dependencies diff --git a/spring-cloud-zookeeper-discovery/pom.xml b/spring-cloud-zookeeper-discovery/pom.xml index 3bf4ebc8..51986779 100644 --- a/spring-cloud-zookeeper-discovery/pom.xml +++ b/spring-cloud-zookeeper-discovery/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.3-SNAPSHOT .. diff --git a/spring-cloud-zookeeper-sample/pom.xml b/spring-cloud-zookeeper-sample/pom.xml index 70be02c9..627eddae 100644 --- a/spring-cloud-zookeeper-sample/pom.xml +++ b/spring-cloud-zookeeper-sample/pom.xml @@ -11,7 +11,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.3-SNAPSHOT .. From 9c7c741188116274610832d304736a6b6159d4da Mon Sep 17 00:00:00 2001 From: buildmaster Date: Sat, 3 Sep 2022 00:22:34 +0000 Subject: [PATCH 4/9] Bumping versions to 3.1.4-SNAPSHOT after release --- docs/pom.xml | 2 +- pom.xml | 12 ++++++------ spring-cloud-starter-zookeeper-all/pom.xml | 2 +- spring-cloud-starter-zookeeper-config/pom.xml | 2 +- spring-cloud-starter-zookeeper-discovery/pom.xml | 2 +- spring-cloud-starter-zookeeper/pom.xml | 2 +- spring-cloud-zookeeper-config/pom.xml | 2 +- spring-cloud-zookeeper-core/pom.xml | 2 +- spring-cloud-zookeeper-dependencies/pom.xml | 4 ++-- spring-cloud-zookeeper-discovery/pom.xml | 2 +- spring-cloud-zookeeper-sample/pom.xml | 2 +- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/pom.xml b/docs/pom.xml index 7a15d72c..c81198ab 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.4-SNAPSHOT spring-cloud-zookeeper-docs jar diff --git a/pom.xml b/pom.xml index 81d36589..5cd43565 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.4-SNAPSHOT pom Spring Cloud Zookeeper Spring Cloud Zookeeper @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-build - 3.1.4-SNAPSHOT + 3.1.5-SNAPSHOT @@ -138,10 +138,10 @@ - 3.1.4-SNAPSHOT - 3.1.4-SNAPSHOT - 3.1.4-SNAPSHOT - 3.1.4-SNAPSHOT + 3.1.5-SNAPSHOT + 3.1.5-SNAPSHOT + 3.1.5-SNAPSHOT + 3.1.5-SNAPSHOT diff --git a/spring-cloud-starter-zookeeper-all/pom.xml b/spring-cloud-starter-zookeeper-all/pom.xml index 71a47412..5ddd9878 100644 --- a/spring-cloud-starter-zookeeper-all/pom.xml +++ b/spring-cloud-starter-zookeeper-all/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.4-SNAPSHOT .. spring-cloud-starter-zookeeper-all diff --git a/spring-cloud-starter-zookeeper-config/pom.xml b/spring-cloud-starter-zookeeper-config/pom.xml index 92610605..8ee9869a 100644 --- a/spring-cloud-starter-zookeeper-config/pom.xml +++ b/spring-cloud-starter-zookeeper-config/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.4-SNAPSHOT .. spring-cloud-starter-zookeeper-config diff --git a/spring-cloud-starter-zookeeper-discovery/pom.xml b/spring-cloud-starter-zookeeper-discovery/pom.xml index b6b70a65..d35a4647 100644 --- a/spring-cloud-starter-zookeeper-discovery/pom.xml +++ b/spring-cloud-starter-zookeeper-discovery/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.4-SNAPSHOT .. spring-cloud-starter-zookeeper-discovery diff --git a/spring-cloud-starter-zookeeper/pom.xml b/spring-cloud-starter-zookeeper/pom.xml index b3df1fa1..249f891c 100644 --- a/spring-cloud-starter-zookeeper/pom.xml +++ b/spring-cloud-starter-zookeeper/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.4-SNAPSHOT .. spring-cloud-starter-zookeeper diff --git a/spring-cloud-zookeeper-config/pom.xml b/spring-cloud-zookeeper-config/pom.xml index 40cb7cde..b281cfca 100644 --- a/spring-cloud-zookeeper-config/pom.xml +++ b/spring-cloud-zookeeper-config/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.4-SNAPSHOT .. diff --git a/spring-cloud-zookeeper-core/pom.xml b/spring-cloud-zookeeper-core/pom.xml index bf6be7d9..6e8f00bd 100644 --- a/spring-cloud-zookeeper-core/pom.xml +++ b/spring-cloud-zookeeper-core/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.4-SNAPSHOT .. diff --git a/spring-cloud-zookeeper-dependencies/pom.xml b/spring-cloud-zookeeper-dependencies/pom.xml index d70a010f..554ae7f1 100644 --- a/spring-cloud-zookeeper-dependencies/pom.xml +++ b/spring-cloud-zookeeper-dependencies/pom.xml @@ -5,11 +5,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 3.1.4-SNAPSHOT + 3.1.5-SNAPSHOT spring-cloud-zookeeper-dependencies - 3.1.3-SNAPSHOT + 3.1.4-SNAPSHOT pom spring-cloud-zookeeper-dependencies Spring Cloud Zookeeper Dependencies diff --git a/spring-cloud-zookeeper-discovery/pom.xml b/spring-cloud-zookeeper-discovery/pom.xml index 51986779..a60e5ecc 100644 --- a/spring-cloud-zookeeper-discovery/pom.xml +++ b/spring-cloud-zookeeper-discovery/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.4-SNAPSHOT .. diff --git a/spring-cloud-zookeeper-sample/pom.xml b/spring-cloud-zookeeper-sample/pom.xml index 627eddae..2a336138 100644 --- a/spring-cloud-zookeeper-sample/pom.xml +++ b/spring-cloud-zookeeper-sample/pom.xml @@ -11,7 +11,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3-SNAPSHOT + 3.1.4-SNAPSHOT .. From 2b24a6a3419eac04cd172110e7c28527b8e2f37a Mon Sep 17 00:00:00 2001 From: buildmaster Date: Tue, 6 Sep 2022 20:54:41 +0000 Subject: [PATCH 5/9] Update SNAPSHOT to 3.1.3 --- docs/pom.xml | 2 +- pom.xml | 12 ++++++------ spring-cloud-starter-zookeeper-all/pom.xml | 2 +- spring-cloud-starter-zookeeper-config/pom.xml | 2 +- spring-cloud-starter-zookeeper-discovery/pom.xml | 2 +- spring-cloud-starter-zookeeper/pom.xml | 2 +- spring-cloud-zookeeper-config/pom.xml | 2 +- spring-cloud-zookeeper-core/pom.xml | 2 +- spring-cloud-zookeeper-dependencies/pom.xml | 4 ++-- spring-cloud-zookeeper-discovery/pom.xml | 2 +- spring-cloud-zookeeper-sample/pom.xml | 2 +- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/pom.xml b/docs/pom.xml index c81198ab..11e8f289 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.4-SNAPSHOT + 3.1.3 spring-cloud-zookeeper-docs jar diff --git a/pom.xml b/pom.xml index 5cd43565..43b43133 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 spring-cloud-zookeeper - 3.1.4-SNAPSHOT + 3.1.3 pom Spring Cloud Zookeeper Spring Cloud Zookeeper @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-build - 3.1.5-SNAPSHOT + 3.1.4 @@ -138,10 +138,10 @@ - 3.1.5-SNAPSHOT - 3.1.5-SNAPSHOT - 3.1.5-SNAPSHOT - 3.1.5-SNAPSHOT + 3.1.4 + 3.1.4 + 3.1.4 + 3.1.4 diff --git a/spring-cloud-starter-zookeeper-all/pom.xml b/spring-cloud-starter-zookeeper-all/pom.xml index 5ddd9878..e8bf9698 100644 --- a/spring-cloud-starter-zookeeper-all/pom.xml +++ b/spring-cloud-starter-zookeeper-all/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.4-SNAPSHOT + 3.1.3 .. spring-cloud-starter-zookeeper-all diff --git a/spring-cloud-starter-zookeeper-config/pom.xml b/spring-cloud-starter-zookeeper-config/pom.xml index 8ee9869a..321e95cf 100644 --- a/spring-cloud-starter-zookeeper-config/pom.xml +++ b/spring-cloud-starter-zookeeper-config/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.4-SNAPSHOT + 3.1.3 .. spring-cloud-starter-zookeeper-config diff --git a/spring-cloud-starter-zookeeper-discovery/pom.xml b/spring-cloud-starter-zookeeper-discovery/pom.xml index d35a4647..ec473395 100644 --- a/spring-cloud-starter-zookeeper-discovery/pom.xml +++ b/spring-cloud-starter-zookeeper-discovery/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.4-SNAPSHOT + 3.1.3 .. spring-cloud-starter-zookeeper-discovery diff --git a/spring-cloud-starter-zookeeper/pom.xml b/spring-cloud-starter-zookeeper/pom.xml index 249f891c..b8b4e778 100644 --- a/spring-cloud-starter-zookeeper/pom.xml +++ b/spring-cloud-starter-zookeeper/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.4-SNAPSHOT + 3.1.3 .. spring-cloud-starter-zookeeper diff --git a/spring-cloud-zookeeper-config/pom.xml b/spring-cloud-zookeeper-config/pom.xml index b281cfca..151ad077 100644 --- a/spring-cloud-zookeeper-config/pom.xml +++ b/spring-cloud-zookeeper-config/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.4-SNAPSHOT + 3.1.3 .. diff --git a/spring-cloud-zookeeper-core/pom.xml b/spring-cloud-zookeeper-core/pom.xml index 6e8f00bd..25d547c7 100644 --- a/spring-cloud-zookeeper-core/pom.xml +++ b/spring-cloud-zookeeper-core/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.4-SNAPSHOT + 3.1.3 .. diff --git a/spring-cloud-zookeeper-dependencies/pom.xml b/spring-cloud-zookeeper-dependencies/pom.xml index 554ae7f1..0b081b00 100644 --- a/spring-cloud-zookeeper-dependencies/pom.xml +++ b/spring-cloud-zookeeper-dependencies/pom.xml @@ -5,11 +5,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 3.1.5-SNAPSHOT + 3.1.4 spring-cloud-zookeeper-dependencies - 3.1.4-SNAPSHOT + 3.1.3 pom spring-cloud-zookeeper-dependencies Spring Cloud Zookeeper Dependencies diff --git a/spring-cloud-zookeeper-discovery/pom.xml b/spring-cloud-zookeeper-discovery/pom.xml index a60e5ecc..3bf4ebc8 100644 --- a/spring-cloud-zookeeper-discovery/pom.xml +++ b/spring-cloud-zookeeper-discovery/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.4-SNAPSHOT + 3.1.3 .. diff --git a/spring-cloud-zookeeper-sample/pom.xml b/spring-cloud-zookeeper-sample/pom.xml index 2a336138..70be02c9 100644 --- a/spring-cloud-zookeeper-sample/pom.xml +++ b/spring-cloud-zookeeper-sample/pom.xml @@ -11,7 +11,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.4-SNAPSHOT + 3.1.3 .. From 24079d69776631015bd0100e830a624ef0daa6bc Mon Sep 17 00:00:00 2001 From: buildmaster Date: Tue, 6 Sep 2022 20:57:07 +0000 Subject: [PATCH 6/9] Going back to snapshots --- docs/pom.xml | 2 +- pom.xml | 12 ++++++------ spring-cloud-starter-zookeeper-all/pom.xml | 2 +- spring-cloud-starter-zookeeper-config/pom.xml | 2 +- spring-cloud-starter-zookeeper-discovery/pom.xml | 2 +- spring-cloud-starter-zookeeper/pom.xml | 2 +- spring-cloud-zookeeper-config/pom.xml | 2 +- spring-cloud-zookeeper-core/pom.xml | 2 +- spring-cloud-zookeeper-dependencies/pom.xml | 4 ++-- spring-cloud-zookeeper-discovery/pom.xml | 2 +- spring-cloud-zookeeper-sample/pom.xml | 2 +- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/pom.xml b/docs/pom.xml index 11e8f289..c81198ab 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.4-SNAPSHOT spring-cloud-zookeeper-docs jar diff --git a/pom.xml b/pom.xml index 43b43133..5cd43565 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 spring-cloud-zookeeper - 3.1.3 + 3.1.4-SNAPSHOT pom Spring Cloud Zookeeper Spring Cloud Zookeeper @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-build - 3.1.4 + 3.1.5-SNAPSHOT @@ -138,10 +138,10 @@ - 3.1.4 - 3.1.4 - 3.1.4 - 3.1.4 + 3.1.5-SNAPSHOT + 3.1.5-SNAPSHOT + 3.1.5-SNAPSHOT + 3.1.5-SNAPSHOT diff --git a/spring-cloud-starter-zookeeper-all/pom.xml b/spring-cloud-starter-zookeeper-all/pom.xml index e8bf9698..5ddd9878 100644 --- a/spring-cloud-starter-zookeeper-all/pom.xml +++ b/spring-cloud-starter-zookeeper-all/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.4-SNAPSHOT .. spring-cloud-starter-zookeeper-all diff --git a/spring-cloud-starter-zookeeper-config/pom.xml b/spring-cloud-starter-zookeeper-config/pom.xml index 321e95cf..8ee9869a 100644 --- a/spring-cloud-starter-zookeeper-config/pom.xml +++ b/spring-cloud-starter-zookeeper-config/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.4-SNAPSHOT .. spring-cloud-starter-zookeeper-config diff --git a/spring-cloud-starter-zookeeper-discovery/pom.xml b/spring-cloud-starter-zookeeper-discovery/pom.xml index ec473395..d35a4647 100644 --- a/spring-cloud-starter-zookeeper-discovery/pom.xml +++ b/spring-cloud-starter-zookeeper-discovery/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.4-SNAPSHOT .. spring-cloud-starter-zookeeper-discovery diff --git a/spring-cloud-starter-zookeeper/pom.xml b/spring-cloud-starter-zookeeper/pom.xml index b8b4e778..249f891c 100644 --- a/spring-cloud-starter-zookeeper/pom.xml +++ b/spring-cloud-starter-zookeeper/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.4-SNAPSHOT .. spring-cloud-starter-zookeeper diff --git a/spring-cloud-zookeeper-config/pom.xml b/spring-cloud-zookeeper-config/pom.xml index 151ad077..b281cfca 100644 --- a/spring-cloud-zookeeper-config/pom.xml +++ b/spring-cloud-zookeeper-config/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.4-SNAPSHOT .. diff --git a/spring-cloud-zookeeper-core/pom.xml b/spring-cloud-zookeeper-core/pom.xml index 25d547c7..6e8f00bd 100644 --- a/spring-cloud-zookeeper-core/pom.xml +++ b/spring-cloud-zookeeper-core/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.4-SNAPSHOT .. diff --git a/spring-cloud-zookeeper-dependencies/pom.xml b/spring-cloud-zookeeper-dependencies/pom.xml index 0b081b00..554ae7f1 100644 --- a/spring-cloud-zookeeper-dependencies/pom.xml +++ b/spring-cloud-zookeeper-dependencies/pom.xml @@ -5,11 +5,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 3.1.4 + 3.1.5-SNAPSHOT spring-cloud-zookeeper-dependencies - 3.1.3 + 3.1.4-SNAPSHOT pom spring-cloud-zookeeper-dependencies Spring Cloud Zookeeper Dependencies diff --git a/spring-cloud-zookeeper-discovery/pom.xml b/spring-cloud-zookeeper-discovery/pom.xml index 3bf4ebc8..a60e5ecc 100644 --- a/spring-cloud-zookeeper-discovery/pom.xml +++ b/spring-cloud-zookeeper-discovery/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.4-SNAPSHOT .. diff --git a/spring-cloud-zookeeper-sample/pom.xml b/spring-cloud-zookeeper-sample/pom.xml index 70be02c9..2a336138 100644 --- a/spring-cloud-zookeeper-sample/pom.xml +++ b/spring-cloud-zookeeper-sample/pom.xml @@ -11,7 +11,7 @@ org.springframework.cloud spring-cloud-zookeeper - 3.1.3 + 3.1.4-SNAPSHOT .. From 9e9eb71ec3b6e93b7c339cd864c30080896529b2 Mon Sep 17 00:00:00 2001 From: buildmaster Date: Tue, 20 Dec 2022 17:11:01 +0000 Subject: [PATCH 7/9] Bumping versions --- pom.xml | 10 +++++----- spring-cloud-zookeeper-dependencies/pom.xml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 5cd43565..56948300 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-build - 3.1.5-SNAPSHOT + 3.1.6-SNAPSHOT @@ -138,10 +138,10 @@ - 3.1.5-SNAPSHOT - 3.1.5-SNAPSHOT - 3.1.5-SNAPSHOT - 3.1.5-SNAPSHOT + 3.1.6-SNAPSHOT + 3.1.6-SNAPSHOT + 3.1.6-SNAPSHOT + 3.1.6-SNAPSHOT diff --git a/spring-cloud-zookeeper-dependencies/pom.xml b/spring-cloud-zookeeper-dependencies/pom.xml index 554ae7f1..10949fbb 100644 --- a/spring-cloud-zookeeper-dependencies/pom.xml +++ b/spring-cloud-zookeeper-dependencies/pom.xml @@ -5,7 +5,7 @@ spring-cloud-dependencies-parent org.springframework.cloud - 3.1.5-SNAPSHOT + 3.1.6-SNAPSHOT spring-cloud-zookeeper-dependencies From 79f9543e24d6773871bdaf9e85ceeaa52c9fd70e Mon Sep 17 00:00:00 2001 From: buildmaster Date: Fri, 28 Apr 2023 14:53:11 +0000 Subject: [PATCH 8/9] Bumping versions --- pom.xml | 10 +++++----- spring-cloud-zookeeper-dependencies/pom.xml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 56948300..8c7b7b73 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-build - 3.1.6-SNAPSHOT + 3.1.8-SNAPSHOT @@ -138,10 +138,10 @@ - 3.1.6-SNAPSHOT - 3.1.6-SNAPSHOT - 3.1.6-SNAPSHOT - 3.1.6-SNAPSHOT + 3.1.8-SNAPSHOT + 3.1.7-SNAPSHOT + 3.1.8-SNAPSHOT + 3.1.8-SNAPSHOT diff --git a/spring-cloud-zookeeper-dependencies/pom.xml b/spring-cloud-zookeeper-dependencies/pom.xml index 10949fbb..e656c868 100644 --- a/spring-cloud-zookeeper-dependencies/pom.xml +++ b/spring-cloud-zookeeper-dependencies/pom.xml @@ -5,7 +5,7 @@ spring-cloud-dependencies-parent org.springframework.cloud - 3.1.6-SNAPSHOT + 3.1.8-SNAPSHOT spring-cloud-zookeeper-dependencies From 7347629f25766ba2af12df064f16daf95968715f Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Tue, 13 Jun 2023 14:43:08 -0400 Subject: [PATCH 9/9] Implement new apply method in ConfServiceInstanceProvider.Function (#317) Co-authored-by: Ryan Baxter <524254+ryanjbaxter@users.noreply.github.com> --- pom.xml | 22 +++ spring-cloud-zookeeper-discovery/pom.xml | 20 +++ .../ZookeeperConfigServerBootstrapper.java | 86 ++++++++-- ...ookeeperConfigServerBootstrapperTests.java | 13 +- ...keeperConfigServerBootstrapperTestsIT.java | 147 ++++++++++++++++++ .../src/test/resources/bootstrapper.yaml | 8 + 6 files changed, 281 insertions(+), 15 deletions(-) create mode 100644 spring-cloud-zookeeper-discovery/src/test/java/org/springframework/cloud/zookeeper/discovery/configclient/ZookeeperConfigServerBootstrapperTestsIT.java create mode 100644 spring-cloud-zookeeper-discovery/src/test/resources/bootstrapper.yaml diff --git a/pom.xml b/pom.xml index 8c7b7b73..bb00e472 100644 --- a/pom.xml +++ b/pom.xml @@ -134,6 +134,26 @@ spring-cloud-test-support ${spring-cloud-commons.version} + + org.testcontainers + testcontainers + ${testcontainers.version} + + + org.testcontainers + mockserver + ${testcontainers.version} + + + org.testcontainers + junit-jupiter + ${testcontainers.version} + + + org.mock-server + mockserver-client-java + ${mockserverclient.version} + @@ -142,6 +162,8 @@ 3.1.7-SNAPSHOT 3.1.8-SNAPSHOT 3.1.8-SNAPSHOT + 1.17.6 + 5.15.0 diff --git a/spring-cloud-zookeeper-discovery/pom.xml b/spring-cloud-zookeeper-discovery/pom.xml index a60e5ecc..66e26ca3 100644 --- a/spring-cloud-zookeeper-discovery/pom.xml +++ b/spring-cloud-zookeeper-discovery/pom.xml @@ -156,6 +156,26 @@ reactor-test test + + org.testcontainers + testcontainers + test + + + org.testcontainers + junit-jupiter + test + + + org.testcontainers + mockserver + test + + + org.mock-server + mockserver-client-java + test + 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 5a67f7fc..5bdd11f4 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 @@ -17,23 +17,31 @@ package org.springframework.cloud.zookeeper.discovery.configclient; import java.util.Collections; +import java.util.List; +import java.util.stream.Stream; +import org.apache.commons.logging.Log; +import org.apache.curator.RetryPolicy; import org.apache.curator.framework.CuratorFramework; +import org.apache.curator.retry.ExponentialBackoffRetry; import org.apache.curator.x.discovery.ServiceDiscovery; import org.apache.curator.x.discovery.ServiceDiscoveryBuilder; import org.apache.curator.x.discovery.details.InstanceSerializer; import org.apache.curator.x.discovery.details.JsonInstanceSerializer; +import org.springframework.boot.BootstrapContext; import org.springframework.boot.BootstrapRegistry; import org.springframework.boot.BootstrapRegistryInitializer; import org.springframework.boot.context.properties.bind.BindHandler; import org.springframework.boot.context.properties.bind.Bindable; import org.springframework.boot.context.properties.bind.Binder; +import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.commons.util.InetUtils; import org.springframework.cloud.commons.util.InetUtilsProperties; import org.springframework.cloud.config.client.ConfigClientProperties; import org.springframework.cloud.config.client.ConfigServerInstanceProvider; import org.springframework.cloud.zookeeper.CuratorFactory; +import org.springframework.cloud.zookeeper.ZookeeperProperties; import org.springframework.cloud.zookeeper.discovery.ConditionalOnZookeeperDiscoveryEnabled; import org.springframework.cloud.zookeeper.discovery.ZookeeperDiscoveryClient; import org.springframework.cloud.zookeeper.discovery.ZookeeperDiscoveryProperties; @@ -45,6 +53,12 @@ import org.springframework.util.ClassUtils; public class ZookeeperConfigServerBootstrapper implements BootstrapRegistryInitializer { + private static boolean isEnabled(Binder binder) { + return binder.bind(ConfigClientProperties.CONFIG_DISCOVERY_ENABLED, Boolean.class).orElse(false) && + binder.bind(ConditionalOnZookeeperDiscoveryEnabled.PROPERTY, Boolean.class).orElse(true) && + binder.bind("spring.cloud.discovery.enabled", Boolean.class).orElse(true); + } + @Override @SuppressWarnings("unchecked") public void initialize(BootstrapRegistry registry) { @@ -95,7 +109,7 @@ public class ZookeeperConfigServerBootstrapper implements BootstrapRegistryIniti } ServiceDiscovery serviceDiscovery = context.get(ServiceDiscovery.class); ZookeeperDependencies dependencies = binder.bind(ZookeeperDependencies.PREFIX, Bindable - .of(ZookeeperDependencies.class), getBindHandler(context)) + .of(ZookeeperDependencies.class), getBindHandler(context)) .orElseGet(ZookeeperDependencies::new); ZookeeperDiscoveryProperties discoveryProperties = context.get(ZookeeperDiscoveryProperties.class); @@ -103,12 +117,9 @@ public class ZookeeperConfigServerBootstrapper implements BootstrapRegistryIniti }); // create instance provider - registry.registerIfAbsent(ConfigServerInstanceProvider.Function.class, context -> { - if (!isEnabled(context.get(Binder.class))) { - return (id) -> Collections.emptyList(); - } - return context.get(ZookeeperDiscoveryClient.class)::getInstances; - }); + // We need to pass the lambda here so we do not create a new instance of ConfigServerInstanceProvider.Function + // which would result in a ClassNotFoundException when Spring Cloud Config is not on the classpath + registry.registerIfAbsent(ConfigServerInstanceProvider.Function.class, ZookeeperFunction::create); // promote beans to context registry.addCloseListener(event -> { @@ -124,10 +135,63 @@ public class ZookeeperConfigServerBootstrapper implements BootstrapRegistryIniti return context.getOrElse(BindHandler.class, null); } - private boolean isEnabled(Binder binder) { - return binder.bind(ConfigClientProperties.CONFIG_DISCOVERY_ENABLED, Boolean.class).orElse(false) && - binder.bind(ConditionalOnZookeeperDiscoveryEnabled.PROPERTY, Boolean.class).orElse(true) && - binder.bind("spring.cloud.discovery.enabled", Boolean.class).orElse(true); + /* + * This Function is executed when loading config data. Because of this we cannot rely on the + * BootstrapContext because Boot has not finished loading all the configuration data so if we + * ask the BootstrapContext for configuration data it will not have it. The apply method in this function + * is passed the Binder and BindHandler from the config data context which has the configuration properties that + * have been loaded so far in the config data process. + * + * We will create many of the same beans in this function as we do above in the initializer above. We do both + * to maintain compatibility since we are promoting those beans to the main application context. + */ + static final class ZookeeperFunction implements ConfigServerInstanceProvider.Function { + + private final BootstrapContext context; + + private ZookeeperFunction(BootstrapContext context) { + this.context = context; + } + + static ZookeeperFunction create(BootstrapContext context) { + return new ZookeeperFunction(context); + } + + @Override + public List apply(String serviceId) { + return apply(serviceId, null, null, null); + } + + @Override + public List apply(String serviceId, Binder binder, BindHandler bindHandler, Log log) { + if (binder == null || !isEnabled(binder)) { + return Collections.emptyList(); + } + + ZookeeperProperties properties = binder.bind(ZookeeperProperties.PREFIX, Bindable.of(ZookeeperProperties.class)) + .orElse(new ZookeeperProperties()); + RetryPolicy retryPolicy = new ExponentialBackoffRetry(properties.getBaseSleepTimeMs(), properties.getMaxRetries(), + properties.getMaxSleepMs()); + try { + CuratorFramework curatorFramework = CuratorFactory.curatorFramework(properties, retryPolicy, Stream::of, + () -> null, () -> null); + InstanceSerializer serializer = new JsonInstanceSerializer<>(ZookeeperInstance.class); + ZookeeperDiscoveryProperties discoveryProperties = binder.bind(ZookeeperDiscoveryProperties.PREFIX, Bindable + .of(ZookeeperDiscoveryProperties.class), bindHandler) + .orElseGet(() -> new ZookeeperDiscoveryProperties(new InetUtils(new InetUtilsProperties()))); + DefaultServiceDiscoveryCustomizer customizer = new DefaultServiceDiscoveryCustomizer(curatorFramework, discoveryProperties, serializer); + ServiceDiscovery serviceDiscovery = customizer.customize(ServiceDiscoveryBuilder.builder(ZookeeperInstance.class)); + ZookeeperDependencies dependencies = binder.bind(ZookeeperDependencies.PREFIX, Bindable + .of(ZookeeperDependencies.class), bindHandler) + .orElseGet(ZookeeperDependencies::new); + return new ZookeeperDiscoveryClient(serviceDiscovery, dependencies, discoveryProperties).getInstances(serviceId); + } + catch (Exception e) { + log.warn("Error fetching config server instance from Zookeeper", e); + return Collections.emptyList(); + } + + } } } diff --git a/spring-cloud-zookeeper-discovery/src/test/java/org/springframework/cloud/zookeeper/discovery/configclient/ZookeeperConfigServerBootstrapperTests.java b/spring-cloud-zookeeper-discovery/src/test/java/org/springframework/cloud/zookeeper/discovery/configclient/ZookeeperConfigServerBootstrapperTests.java index a66ca956..d1dd19ba 100644 --- a/spring-cloud-zookeeper-discovery/src/test/java/org/springframework/cloud/zookeeper/discovery/configclient/ZookeeperConfigServerBootstrapperTests.java +++ b/spring-cloud-zookeeper-discovery/src/test/java/org/springframework/cloud/zookeeper/discovery/configclient/ZookeeperConfigServerBootstrapperTests.java @@ -18,6 +18,7 @@ package org.springframework.cloud.zookeeper.discovery.configclient; import java.util.concurrent.atomic.AtomicReference; +import org.apache.commons.logging.Log; import org.apache.curator.framework.CuratorFramework; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; @@ -31,6 +32,7 @@ import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.context.properties.bind.BindContext; import org.springframework.boot.context.properties.bind.BindHandler; import org.springframework.boot.context.properties.bind.Bindable; +import org.springframework.boot.context.properties.bind.Binder; import org.springframework.boot.context.properties.source.ConfigurationPropertyName; import org.springframework.cloud.config.client.ConfigServerInstanceProvider; import org.springframework.cloud.zookeeper.discovery.ZookeeperDiscoveryClient; @@ -39,6 +41,7 @@ import org.springframework.context.ConfigurableApplicationContext; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.mockito.Mockito.mock; public class ZookeeperConfigServerBootstrapperTests { @@ -59,7 +62,8 @@ public class ZookeeperConfigServerBootstrapperTests { .addBootstrapRegistryInitializer(registry -> registry.addCloseListener(event -> { ConfigServerInstanceProvider.Function providerFn = event.getBootstrapContext() .get(ConfigServerInstanceProvider.Function.class); - assertThat(providerFn.apply("id")).as("ConfigServerInstanceProvider.Function should return empty list") + Log log = mock(Log.class); + assertThat(providerFn.apply("id", event.getBootstrapContext().get(Binder.class), event.getBootstrapContext().get(BindHandler.class), log)).as("ConfigServerInstanceProvider.Function should return empty list") .isEmpty(); })).run(); CuratorFramework curatorFramework = context.getBean("curatorFramework", CuratorFramework.class); @@ -80,7 +84,8 @@ public class ZookeeperConfigServerBootstrapperTests { .addBootstrapRegistryInitializer(registry -> registry.addCloseListener(event -> { ConfigServerInstanceProvider.Function providerFn = event.getBootstrapContext() .get(ConfigServerInstanceProvider.Function.class); - assertThat(providerFn.apply("id")).as("ConfigServerInstanceProvider.Function should return empty list") + Log log = mock(Log.class); + assertThat(providerFn.apply("id", event.getBootstrapContext().get(Binder.class), event.getBootstrapContext().get(BindHandler.class), log)).as("ConfigServerInstanceProvider.Function should return empty list") .isEmpty(); })).run(); CuratorFramework curatorFramework = context.getBean("curatorFramework", CuratorFramework.class); @@ -101,7 +106,7 @@ public class ZookeeperConfigServerBootstrapperTests { .addBootstrapRegistryInitializer(registry -> registry.addCloseListener(event -> { ConfigServerInstanceProvider.Function providerFn = event.getBootstrapContext() .get(ConfigServerInstanceProvider.Function.class); - assertThat(providerFn.apply("id")).as("ConfigServerInstanceProvider.Function should return empty list") + assertThat(providerFn.apply("id", event.getBootstrapContext().get(Binder.class), event.getBootstrapContext().get(BindHandler.class), mock(Log.class))).as("ConfigServerInstanceProvider.Function should return empty list") .isEmpty(); })).run(); CuratorFramework curatorFramework = context.getBean("curatorFramework", CuratorFramework.class); @@ -124,7 +129,7 @@ public class ZookeeperConfigServerBootstrapperTests { .addBootstrapRegistryInitializer(registry -> registry.addCloseListener(event -> { ConfigServerInstanceProvider.Function providerFn = event.getBootstrapContext() .get(ConfigServerInstanceProvider.Function.class); - assertThat(providerFn.apply("id")).as("Should return empty list.") + assertThat(providerFn.apply("id", event.getBootstrapContext().get(Binder.class), event.getBootstrapContext().get(BindHandler.class), mock(Log.class))).as("Should return empty list.") .isNotNull(); bootstrapDiscoveryClient.set(event.getBootstrapContext().get(ZookeeperDiscoveryClient.class)); })).run(); diff --git a/spring-cloud-zookeeper-discovery/src/test/java/org/springframework/cloud/zookeeper/discovery/configclient/ZookeeperConfigServerBootstrapperTestsIT.java b/spring-cloud-zookeeper-discovery/src/test/java/org/springframework/cloud/zookeeper/discovery/configclient/ZookeeperConfigServerBootstrapperTestsIT.java new file mode 100644 index 00000000..2bd6ed46 --- /dev/null +++ b/spring-cloud-zookeeper-discovery/src/test/java/org/springframework/cloud/zookeeper/discovery/configclient/ZookeeperConfigServerBootstrapperTestsIT.java @@ -0,0 +1,147 @@ +/* + * Copyright 2015-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.cloud.zookeeper.discovery.configclient; + +import java.io.IOException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.LinkedHashSet; +import java.util.Map; +import java.util.Set; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.curator.framework.CuratorFramework; +import org.apache.curator.framework.CuratorFrameworkFactory; +import org.apache.curator.retry.RetryOneTime; +import org.apache.curator.x.discovery.ServiceDiscovery; +import org.apache.curator.x.discovery.ServiceDiscoveryBuilder; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockserver.client.MockServerClient; +import org.testcontainers.containers.GenericContainer; +import org.testcontainers.containers.MockServerContainer; +import org.testcontainers.junit.jupiter.Container; +import org.testcontainers.junit.jupiter.Testcontainers; +import org.testcontainers.utility.DockerImageName; + +import org.springframework.boot.SpringBootConfiguration; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.cloud.config.environment.Environment; +import org.springframework.cloud.config.environment.PropertySource; +import org.springframework.cloud.zookeeper.ZookeeperProperties; +import org.springframework.cloud.zookeeper.discovery.ZookeeperDiscoveryProperties; +import org.springframework.cloud.zookeeper.discovery.ZookeeperInstance; +import org.springframework.cloud.zookeeper.serviceregistry.ServiceInstanceRegistration; +import org.springframework.context.ConfigurableApplicationContext; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockserver.model.HttpRequest.request; +import static org.mockserver.model.HttpResponse.response; + +/** + * @author Ryan Baxter + */ +@Testcontainers +class ZookeeperConfigServerBootstrapperTestsIT { + private static final int ZOOKEEPER_PORT = 2181; + + public static final DockerImageName MOCKSERVER_IMAGE = DockerImageName.parse("mockserver/mockserver") + .withTag("mockserver-" + MockServerClient.class.getPackage().getImplementationVersion()); + + @Container + private static final GenericContainer zookeeper = new GenericContainer<>("zookeeper:3.8.0") + .withExposedPorts(ZOOKEEPER_PORT); + + @Container + static MockServerContainer mockServer = new MockServerContainer(MOCKSERVER_IMAGE); + + private ConfigurableApplicationContext context; + + private ServiceDiscovery serviceDiscovery; + + private CuratorFramework curatorFramework; + + @BeforeEach + void before() { + curatorFramework = CuratorFrameworkFactory.builder().connectString(zookeeper.getHost() + ":" + zookeeper.getMappedPort(ZOOKEEPER_PORT)) + .retryPolicy(new RetryOneTime(100)).build(); + + try { + curatorFramework.start(); + serviceDiscovery = ServiceDiscoveryBuilder.builder(ZookeeperInstance.class).client(curatorFramework).basePath("/services") + .build(); + serviceDiscovery.start(); + serviceDiscovery.registerService(ServiceInstanceRegistration.builder().id("zookeeper-configserver").name("zookeeper-configserver") + .address(mockServer.getHost()).port(mockServer.getServerPort()).uriSpec(ZookeeperDiscoveryProperties.DEFAULT_URI_SPEC).build().getServiceInstance()); + } + catch (Exception e) { + throw new RuntimeException(e); + } + } + + @AfterEach + void after() throws IOException { + this.context.close(); + this.serviceDiscovery.close(); + this.curatorFramework.close(); + } + + @Test + public void contextLoads() throws JsonProcessingException { + Environment environment = new Environment("test", "default"); + Map properties = new HashMap<>(); + properties.put("hello", "world"); + PropertySource p = new PropertySource("p1", properties); + environment.add(p); + ObjectMapper objectMapper = new ObjectMapper(); + try (MockServerClient mockServerClient = new MockServerClient(mockServer.getHost(), + mockServer.getMappedPort(MockServerContainer.PORT))) { + mockServerClient.when(request().withPath("/application/default")) + .respond(response().withBody(objectMapper.writeValueAsString(environment)) + .withHeader("content-type", "application/json")); + this.context = setup().run(); + assertThat(this.context.getEnvironment().getProperty("hello")).isEqualTo("world"); + } + + } + + SpringApplicationBuilder setup(String... env) { + return new SpringApplicationBuilder(TestConfig.class) + .properties(addDefaultEnv(env)); + } + + private String[] addDefaultEnv(String[] env) { + Set set = new LinkedHashSet<>(); + if (env != null && env.length > 0) { + set.addAll(Arrays.asList(env)); + } + set.add("spring.config.import=classpath:bootstrapper.yaml"); + set.add("spring.cloud.config.enabled=true"); + set.add("spring.cloud.service-registry.auto-registration.enabled=false"); + set.add(ZookeeperProperties.PREFIX + ".connectString=" + zookeeper.getHost() + ":" + zookeeper.getMappedPort(ZOOKEEPER_PORT)); + return set.toArray(new String[0]); + } + + @SpringBootConfiguration + @EnableAutoConfiguration + static class TestConfig { + + } +} diff --git a/spring-cloud-zookeeper-discovery/src/test/resources/bootstrapper.yaml b/spring-cloud-zookeeper-discovery/src/test/resources/bootstrapper.yaml new file mode 100644 index 00000000..7cde1d1b --- /dev/null +++ b/spring-cloud-zookeeper-discovery/src/test/resources/bootstrapper.yaml @@ -0,0 +1,8 @@ +spring: + config: + import: "optional:configserver:" + cloud: + config: + discovery: + service-id: zookeeper-configserver + enabled: true