From 57e07d319f39939ea3d268b517b56536a5290c51 Mon Sep 17 00:00:00 2001 From: buildmaster Date: Wed, 15 Dec 2021 15:45:36 +0000 Subject: [PATCH 01/18] Update SNAPSHOT to 3.0.5 --- README.adoc | 69 ++++++++++++++----- docs/pom.xml | 2 +- pom.xml | 4 +- spring-cloud-commons-dependencies/pom.xml | 4 +- spring-cloud-commons/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- spring-cloud-context/pom.xml | 2 +- spring-cloud-loadbalancer/pom.xml | 2 +- spring-cloud-starter-bootstrap/pom.xml | 2 +- spring-cloud-starter-loadbalancer/pom.xml | 2 +- spring-cloud-starter/pom.xml | 2 +- spring-cloud-test-support/pom.xml | 2 +- 13 files changed, 67 insertions(+), 30 deletions(-) diff --git a/README.adoc b/README.adoc index 8fdcaee7..b1c6306d 100644 --- a/README.adoc +++ b/README.adoc @@ -53,23 +53,9 @@ the `.mvn` configuration, so if you find you have to do it to make a build succeed, please raise a ticket to get the settings added to source control. -For hints on how to build the project look in `.travis.yml` if there -is one. There should be a "script" and maybe "install" command. Also -look at the "services" section to see if any services need to be -running locally (e.g. mongo or rabbit). Ignore the git-related bits -that you might find in "before_install" since they're related to setting git -credentials and you already have those. +The projects that require middleware (i.e. Redis) for testing generally +require that a local instance of [Docker](https://www.docker.com/get-started) is installed and running. -The projects that require middleware generally include a -`docker-compose.yml`, so consider using -https://docs.docker.com/compose/[Docker Compose] to run the middeware servers -in Docker containers. See the README in the -https://github.com/spring-cloud-samples/scripts[scripts demo -repository] for specific instructions about the common cases of mongo, -rabbit and redis. - -NOTE: If all else fails, build with the command from `.travis.yml` (usually -`./mvnw install`). === Documentation @@ -302,3 +288,54 @@ Go to `File` -> `Settings` -> `Other settings` -> `Checkstyle`. There click on t - `checkstyle.additional.suppressions.file` - this variable corresponds to suppressions in your local project. E.g. you're working on `spring-cloud-contract`. Then point to the `project-root/src/checkstyle/checkstyle-suppressions.xml` folder. Example for `spring-cloud-contract` would be: `/home/username/spring-cloud-contract/src/checkstyle/checkstyle-suppressions.xml`. IMPORTANT: Remember to set the `Scan Scope` to `All sources` since we apply checkstyle rules for production and test sources. + +=== Duplicate Finder + +Spring Cloud Build brings along the `basepom:duplicate-finder-maven-plugin`, that enables flagging duplicate and conflicting classes and resources on the java classpath. + +==== Duplicate Finder configuration + +Duplicate finder is *enabled by default* and will run in the `verify` phase of your Maven build, but it will only take effect in your project if you add the `duplicate-finder-maven-plugin` to the `build` section of the projecst's `pom.xml`. + +.pom.xml +[source,xml] +---- + + + + org.basepom.maven + duplicate-finder-maven-plugin + + + +---- + +For other properties, we have set defaults as listed in the https://github.com/basepom/duplicate-finder-maven-plugin/wiki[plugin documentation]. + +You can easily override them but setting the value of the selected property prefixed with `duplicate-finder-maven-plugin`. For example, set `duplicate-finder-maven-plugin.skip` to `true` in order to skip duplicates check in your build. + +If you need to add `ignoredClassPatterns` or `ignoredResourcePatterns` to your setup, make sure to add them in the plugin configuration section of your project: + +[source,xml] +---- + + + + org.basepom.maven + duplicate-finder-maven-plugin + + + org.joda.time.base.BaseDateTime + .*module-info + + + changelog.txt + + + + + + + +---- + diff --git a/docs/pom.xml b/docs/pom.xml index b8a8e05d..bb052e5a 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -8,7 +8,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.5 jar Spring Cloud Commons Docs diff --git a/pom.xml b/pom.xml index 5ebc9d22..dbae3eab 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.5 pom Spring Cloud Commons Parent Spring Cloud Commons Parent @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-build - 3.0.4 + 3.0.5 diff --git a/spring-cloud-commons-dependencies/pom.xml b/spring-cloud-commons-dependencies/pom.xml index a9aaa4c7..a8962390 100644 --- a/spring-cloud-commons-dependencies/pom.xml +++ b/spring-cloud-commons-dependencies/pom.xml @@ -6,11 +6,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 3.0.5-SNAPSHOT + 3.0.5 spring-cloud-commons-dependencies - 3.0.5-SNAPSHOT + 3.0.5 pom spring-cloud-commons-dependencies Spring Cloud Commons Dependencies diff --git a/spring-cloud-commons/pom.xml b/spring-cloud-commons/pom.xml index 91809038..3b571532 100644 --- a/spring-cloud-commons/pom.xml +++ b/spring-cloud-commons/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.5 .. spring-cloud-commons diff --git a/spring-cloud-context-integration-tests/pom.xml b/spring-cloud-context-integration-tests/pom.xml index deb5a451..9b857608 100644 --- a/spring-cloud-context-integration-tests/pom.xml +++ b/spring-cloud-context-integration-tests/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.5 .. spring-cloud-context-integration-tests diff --git a/spring-cloud-context-webflux-integration-tests/pom.xml b/spring-cloud-context-webflux-integration-tests/pom.xml index c12e2360..f6ec4956 100644 --- a/spring-cloud-context-webflux-integration-tests/pom.xml +++ b/spring-cloud-context-webflux-integration-tests/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.5 .. spring-cloud-context-webflux-integration-tests diff --git a/spring-cloud-context/pom.xml b/spring-cloud-context/pom.xml index 1e5a5803..8a1244f6 100644 --- a/spring-cloud-context/pom.xml +++ b/spring-cloud-context/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.5 .. spring-cloud-context diff --git a/spring-cloud-loadbalancer/pom.xml b/spring-cloud-loadbalancer/pom.xml index f785df7c..e8efd9d6 100644 --- a/spring-cloud-loadbalancer/pom.xml +++ b/spring-cloud-loadbalancer/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.5 .. spring-cloud-loadbalancer diff --git a/spring-cloud-starter-bootstrap/pom.xml b/spring-cloud-starter-bootstrap/pom.xml index cfd0ea20..47eba926 100644 --- a/spring-cloud-starter-bootstrap/pom.xml +++ b/spring-cloud-starter-bootstrap/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.5 .. jar diff --git a/spring-cloud-starter-loadbalancer/pom.xml b/spring-cloud-starter-loadbalancer/pom.xml index dc2972ad..071bc036 100644 --- a/spring-cloud-starter-loadbalancer/pom.xml +++ b/spring-cloud-starter-loadbalancer/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.5 .. 4.0.0 diff --git a/spring-cloud-starter/pom.xml b/spring-cloud-starter/pom.xml index 1dd7513b..2385e23d 100644 --- a/spring-cloud-starter/pom.xml +++ b/spring-cloud-starter/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.5 spring-cloud-starter spring-cloud-starter diff --git a/spring-cloud-test-support/pom.xml b/spring-cloud-test-support/pom.xml index b9ab3d2f..40e26d4a 100644 --- a/spring-cloud-test-support/pom.xml +++ b/spring-cloud-test-support/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.5 .. spring-cloud-test-support From 956d40d617c669dfd131b96ffefa2efebdfa6e43 Mon Sep 17 00:00:00 2001 From: buildmaster Date: Wed, 15 Dec 2021 15:48:21 +0000 Subject: [PATCH 02/18] Going back to snapshots --- README.adoc | 69 +++++-------------- docs/pom.xml | 2 +- pom.xml | 4 +- spring-cloud-commons-dependencies/pom.xml | 4 +- spring-cloud-commons/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- spring-cloud-context/pom.xml | 2 +- spring-cloud-loadbalancer/pom.xml | 2 +- spring-cloud-starter-bootstrap/pom.xml | 2 +- spring-cloud-starter-loadbalancer/pom.xml | 2 +- spring-cloud-starter/pom.xml | 2 +- spring-cloud-test-support/pom.xml | 2 +- 13 files changed, 30 insertions(+), 67 deletions(-) diff --git a/README.adoc b/README.adoc index b1c6306d..8fdcaee7 100644 --- a/README.adoc +++ b/README.adoc @@ -53,9 +53,23 @@ the `.mvn` configuration, so if you find you have to do it to make a build succeed, please raise a ticket to get the settings added to source control. -The projects that require middleware (i.e. Redis) for testing generally -require that a local instance of [Docker](https://www.docker.com/get-started) is installed and running. +For hints on how to build the project look in `.travis.yml` if there +is one. There should be a "script" and maybe "install" command. Also +look at the "services" section to see if any services need to be +running locally (e.g. mongo or rabbit). Ignore the git-related bits +that you might find in "before_install" since they're related to setting git +credentials and you already have those. +The projects that require middleware generally include a +`docker-compose.yml`, so consider using +https://docs.docker.com/compose/[Docker Compose] to run the middeware servers +in Docker containers. See the README in the +https://github.com/spring-cloud-samples/scripts[scripts demo +repository] for specific instructions about the common cases of mongo, +rabbit and redis. + +NOTE: If all else fails, build with the command from `.travis.yml` (usually +`./mvnw install`). === Documentation @@ -288,54 +302,3 @@ Go to `File` -> `Settings` -> `Other settings` -> `Checkstyle`. There click on t - `checkstyle.additional.suppressions.file` - this variable corresponds to suppressions in your local project. E.g. you're working on `spring-cloud-contract`. Then point to the `project-root/src/checkstyle/checkstyle-suppressions.xml` folder. Example for `spring-cloud-contract` would be: `/home/username/spring-cloud-contract/src/checkstyle/checkstyle-suppressions.xml`. IMPORTANT: Remember to set the `Scan Scope` to `All sources` since we apply checkstyle rules for production and test sources. - -=== Duplicate Finder - -Spring Cloud Build brings along the `basepom:duplicate-finder-maven-plugin`, that enables flagging duplicate and conflicting classes and resources on the java classpath. - -==== Duplicate Finder configuration - -Duplicate finder is *enabled by default* and will run in the `verify` phase of your Maven build, but it will only take effect in your project if you add the `duplicate-finder-maven-plugin` to the `build` section of the projecst's `pom.xml`. - -.pom.xml -[source,xml] ----- - - - - org.basepom.maven - duplicate-finder-maven-plugin - - - ----- - -For other properties, we have set defaults as listed in the https://github.com/basepom/duplicate-finder-maven-plugin/wiki[plugin documentation]. - -You can easily override them but setting the value of the selected property prefixed with `duplicate-finder-maven-plugin`. For example, set `duplicate-finder-maven-plugin.skip` to `true` in order to skip duplicates check in your build. - -If you need to add `ignoredClassPatterns` or `ignoredResourcePatterns` to your setup, make sure to add them in the plugin configuration section of your project: - -[source,xml] ----- - - - - org.basepom.maven - duplicate-finder-maven-plugin - - - org.joda.time.base.BaseDateTime - .*module-info - - - changelog.txt - - - - - - - ----- - diff --git a/docs/pom.xml b/docs/pom.xml index bb052e5a..b8a8e05d 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -8,7 +8,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5 + 3.0.5-SNAPSHOT jar Spring Cloud Commons Docs diff --git a/pom.xml b/pom.xml index dbae3eab..5ebc9d22 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.springframework.cloud spring-cloud-commons-parent - 3.0.5 + 3.0.5-SNAPSHOT pom Spring Cloud Commons Parent Spring Cloud Commons Parent @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-build - 3.0.5 + 3.0.4 diff --git a/spring-cloud-commons-dependencies/pom.xml b/spring-cloud-commons-dependencies/pom.xml index a8962390..a9aaa4c7 100644 --- a/spring-cloud-commons-dependencies/pom.xml +++ b/spring-cloud-commons-dependencies/pom.xml @@ -6,11 +6,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 3.0.5 + 3.0.5-SNAPSHOT spring-cloud-commons-dependencies - 3.0.5 + 3.0.5-SNAPSHOT pom spring-cloud-commons-dependencies Spring Cloud Commons Dependencies diff --git a/spring-cloud-commons/pom.xml b/spring-cloud-commons/pom.xml index 3b571532..91809038 100644 --- a/spring-cloud-commons/pom.xml +++ b/spring-cloud-commons/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5 + 3.0.5-SNAPSHOT .. spring-cloud-commons diff --git a/spring-cloud-context-integration-tests/pom.xml b/spring-cloud-context-integration-tests/pom.xml index 9b857608..deb5a451 100644 --- a/spring-cloud-context-integration-tests/pom.xml +++ b/spring-cloud-context-integration-tests/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5 + 3.0.5-SNAPSHOT .. spring-cloud-context-integration-tests diff --git a/spring-cloud-context-webflux-integration-tests/pom.xml b/spring-cloud-context-webflux-integration-tests/pom.xml index f6ec4956..c12e2360 100644 --- a/spring-cloud-context-webflux-integration-tests/pom.xml +++ b/spring-cloud-context-webflux-integration-tests/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5 + 3.0.5-SNAPSHOT .. spring-cloud-context-webflux-integration-tests diff --git a/spring-cloud-context/pom.xml b/spring-cloud-context/pom.xml index 8a1244f6..1e5a5803 100644 --- a/spring-cloud-context/pom.xml +++ b/spring-cloud-context/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5 + 3.0.5-SNAPSHOT .. spring-cloud-context diff --git a/spring-cloud-loadbalancer/pom.xml b/spring-cloud-loadbalancer/pom.xml index e8efd9d6..f785df7c 100644 --- a/spring-cloud-loadbalancer/pom.xml +++ b/spring-cloud-loadbalancer/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5 + 3.0.5-SNAPSHOT .. spring-cloud-loadbalancer diff --git a/spring-cloud-starter-bootstrap/pom.xml b/spring-cloud-starter-bootstrap/pom.xml index 47eba926..cfd0ea20 100644 --- a/spring-cloud-starter-bootstrap/pom.xml +++ b/spring-cloud-starter-bootstrap/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5 + 3.0.5-SNAPSHOT .. jar diff --git a/spring-cloud-starter-loadbalancer/pom.xml b/spring-cloud-starter-loadbalancer/pom.xml index 071bc036..dc2972ad 100644 --- a/spring-cloud-starter-loadbalancer/pom.xml +++ b/spring-cloud-starter-loadbalancer/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5 + 3.0.5-SNAPSHOT .. 4.0.0 diff --git a/spring-cloud-starter/pom.xml b/spring-cloud-starter/pom.xml index 2385e23d..1dd7513b 100644 --- a/spring-cloud-starter/pom.xml +++ b/spring-cloud-starter/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5 + 3.0.5-SNAPSHOT spring-cloud-starter spring-cloud-starter diff --git a/spring-cloud-test-support/pom.xml b/spring-cloud-test-support/pom.xml index 40e26d4a..b9ab3d2f 100644 --- a/spring-cloud-test-support/pom.xml +++ b/spring-cloud-test-support/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5 + 3.0.5-SNAPSHOT .. spring-cloud-test-support From ceb7a16df4e14f8b7b7460771844d687385d2e4b Mon Sep 17 00:00:00 2001 From: buildmaster Date: Wed, 15 Dec 2021 15:48:21 +0000 Subject: [PATCH 03/18] Bumping versions to 3.0.6-SNAPSHOT after release --- docs/pom.xml | 2 +- pom.xml | 4 ++-- spring-cloud-commons-dependencies/pom.xml | 4 ++-- spring-cloud-commons/pom.xml | 2 +- spring-cloud-context-integration-tests/pom.xml | 2 +- spring-cloud-context-webflux-integration-tests/pom.xml | 2 +- spring-cloud-context/pom.xml | 2 +- spring-cloud-loadbalancer/pom.xml | 2 +- spring-cloud-starter-bootstrap/pom.xml | 2 +- spring-cloud-starter-loadbalancer/pom.xml | 2 +- spring-cloud-starter/pom.xml | 2 +- spring-cloud-test-support/pom.xml | 2 +- 12 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/pom.xml b/docs/pom.xml index b8a8e05d..1fa73b0d 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -8,7 +8,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.6-SNAPSHOT jar Spring Cloud Commons Docs diff --git a/pom.xml b/pom.xml index 5ebc9d22..842f5abe 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.6-SNAPSHOT pom Spring Cloud Commons Parent Spring Cloud Commons Parent @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-build - 3.0.4 + 3.0.5 diff --git a/spring-cloud-commons-dependencies/pom.xml b/spring-cloud-commons-dependencies/pom.xml index a9aaa4c7..d0e85715 100644 --- a/spring-cloud-commons-dependencies/pom.xml +++ b/spring-cloud-commons-dependencies/pom.xml @@ -6,11 +6,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 3.0.5-SNAPSHOT + 3.0.6-SNAPSHOT spring-cloud-commons-dependencies - 3.0.5-SNAPSHOT + 3.0.6-SNAPSHOT pom spring-cloud-commons-dependencies Spring Cloud Commons Dependencies diff --git a/spring-cloud-commons/pom.xml b/spring-cloud-commons/pom.xml index 91809038..2017bbf9 100644 --- a/spring-cloud-commons/pom.xml +++ b/spring-cloud-commons/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.6-SNAPSHOT .. spring-cloud-commons diff --git a/spring-cloud-context-integration-tests/pom.xml b/spring-cloud-context-integration-tests/pom.xml index deb5a451..1d3171a0 100644 --- a/spring-cloud-context-integration-tests/pom.xml +++ b/spring-cloud-context-integration-tests/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.6-SNAPSHOT .. spring-cloud-context-integration-tests diff --git a/spring-cloud-context-webflux-integration-tests/pom.xml b/spring-cloud-context-webflux-integration-tests/pom.xml index c12e2360..33bebf3b 100644 --- a/spring-cloud-context-webflux-integration-tests/pom.xml +++ b/spring-cloud-context-webflux-integration-tests/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.6-SNAPSHOT .. spring-cloud-context-webflux-integration-tests diff --git a/spring-cloud-context/pom.xml b/spring-cloud-context/pom.xml index 1e5a5803..9900a524 100644 --- a/spring-cloud-context/pom.xml +++ b/spring-cloud-context/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.6-SNAPSHOT .. spring-cloud-context diff --git a/spring-cloud-loadbalancer/pom.xml b/spring-cloud-loadbalancer/pom.xml index f785df7c..b13ebb7b 100644 --- a/spring-cloud-loadbalancer/pom.xml +++ b/spring-cloud-loadbalancer/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.6-SNAPSHOT .. spring-cloud-loadbalancer diff --git a/spring-cloud-starter-bootstrap/pom.xml b/spring-cloud-starter-bootstrap/pom.xml index cfd0ea20..b4416e02 100644 --- a/spring-cloud-starter-bootstrap/pom.xml +++ b/spring-cloud-starter-bootstrap/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.6-SNAPSHOT .. jar diff --git a/spring-cloud-starter-loadbalancer/pom.xml b/spring-cloud-starter-loadbalancer/pom.xml index dc2972ad..112b145f 100644 --- a/spring-cloud-starter-loadbalancer/pom.xml +++ b/spring-cloud-starter-loadbalancer/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.6-SNAPSHOT .. 4.0.0 diff --git a/spring-cloud-starter/pom.xml b/spring-cloud-starter/pom.xml index 1dd7513b..9e9ab845 100644 --- a/spring-cloud-starter/pom.xml +++ b/spring-cloud-starter/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.6-SNAPSHOT spring-cloud-starter spring-cloud-starter diff --git a/spring-cloud-test-support/pom.xml b/spring-cloud-test-support/pom.xml index b9ab3d2f..af9c7fbb 100644 --- a/spring-cloud-test-support/pom.xml +++ b/spring-cloud-test-support/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.5-SNAPSHOT + 3.0.6-SNAPSHOT .. spring-cloud-test-support From e385b5adffca786718a082234921f1db93e0da42 Mon Sep 17 00:00:00 2001 From: buildmaster Date: Thu, 24 Feb 2022 07:31:21 +0000 Subject: [PATCH 04/18] Bumping versions --- README.adoc | 71 ++++++++++++++++++++++++++++++++++++++++------------- pom.xml | 2 +- 2 files changed, 55 insertions(+), 18 deletions(-) diff --git a/README.adoc b/README.adoc index 8fdcaee7..166e078f 100644 --- a/README.adoc +++ b/README.adoc @@ -27,7 +27,7 @@ Extract the files into the JDK/jre/lib/security folder for whichever version of == Building -:jdkversion: 1.8 +:jdkversion: 17 === Basic Compile and Test @@ -53,23 +53,9 @@ the `.mvn` configuration, so if you find you have to do it to make a build succeed, please raise a ticket to get the settings added to source control. -For hints on how to build the project look in `.travis.yml` if there -is one. There should be a "script" and maybe "install" command. Also -look at the "services" section to see if any services need to be -running locally (e.g. mongo or rabbit). Ignore the git-related bits -that you might find in "before_install" since they're related to setting git -credentials and you already have those. +The projects that require middleware (i.e. Redis) for testing generally +require that a local instance of [Docker](https://www.docker.com/get-started) is installed and running. -The projects that require middleware generally include a -`docker-compose.yml`, so consider using -https://docs.docker.com/compose/[Docker Compose] to run the middeware servers -in Docker containers. See the README in the -https://github.com/spring-cloud-samples/scripts[scripts demo -repository] for specific instructions about the common cases of mongo, -rabbit and redis. - -NOTE: If all else fails, build with the command from `.travis.yml` (usually -`./mvnw install`). === Documentation @@ -302,3 +288,54 @@ Go to `File` -> `Settings` -> `Other settings` -> `Checkstyle`. There click on t - `checkstyle.additional.suppressions.file` - this variable corresponds to suppressions in your local project. E.g. you're working on `spring-cloud-contract`. Then point to the `project-root/src/checkstyle/checkstyle-suppressions.xml` folder. Example for `spring-cloud-contract` would be: `/home/username/spring-cloud-contract/src/checkstyle/checkstyle-suppressions.xml`. IMPORTANT: Remember to set the `Scan Scope` to `All sources` since we apply checkstyle rules for production and test sources. + +=== Duplicate Finder + +Spring Cloud Build brings along the `basepom:duplicate-finder-maven-plugin`, that enables flagging duplicate and conflicting classes and resources on the java classpath. + +==== Duplicate Finder configuration + +Duplicate finder is *enabled by default* and will run in the `verify` phase of your Maven build, but it will only take effect in your project if you add the `duplicate-finder-maven-plugin` to the `build` section of the projecst's `pom.xml`. + +.pom.xml +[source,xml] +---- + + + + org.basepom.maven + duplicate-finder-maven-plugin + + + +---- + +For other properties, we have set defaults as listed in the https://github.com/basepom/duplicate-finder-maven-plugin/wiki[plugin documentation]. + +You can easily override them but setting the value of the selected property prefixed with `duplicate-finder-maven-plugin`. For example, set `duplicate-finder-maven-plugin.skip` to `true` in order to skip duplicates check in your build. + +If you need to add `ignoredClassPatterns` or `ignoredResourcePatterns` to your setup, make sure to add them in the plugin configuration section of your project: + +[source,xml] +---- + + + + org.basepom.maven + duplicate-finder-maven-plugin + + + org.joda.time.base.BaseDateTime + .*module-info + + + changelog.txt + + + + + + + +---- + diff --git a/pom.xml b/pom.xml index 842f5abe..b640a710 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-build - 3.0.5 + 3.0.6-SNAPSHOT From ff6a7fc99842c7adfcfcf6821957a19d7ac73bd1 Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Wed, 9 Mar 2022 22:14:39 +0100 Subject: [PATCH 05/18] Expose indicators map - needed for a bugfix in SC Netflix. --- .../health/DiscoveryCompositeHealthContributor.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/discovery/health/DiscoveryCompositeHealthContributor.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/discovery/health/DiscoveryCompositeHealthContributor.java index 3d15e9a9..42727ba8 100644 --- a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/discovery/health/DiscoveryCompositeHealthContributor.java +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/discovery/health/DiscoveryCompositeHealthContributor.java @@ -17,6 +17,7 @@ package org.springframework.cloud.client.discovery.health; import java.util.Collection; +import java.util.Collections; import java.util.Iterator; import java.util.Map; import java.util.function.Function; @@ -72,7 +73,11 @@ public class DiscoveryCompositeHealthContributor implements CompositeHealthContr } private HealthIndicator asHealthIndicator(DiscoveryHealthIndicator indicator) { - return (indicator != null) ? () -> indicator.health() : null; + return (indicator != null) ? indicator::health : null; + } + + public Map getIndicators() { + return Collections.unmodifiableMap(indicators); } } From 3bfc291d773f2624ba970446e1e03dee8b303393 Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Wed, 20 Apr 2022 17:29:20 +0200 Subject: [PATCH 06/18] Add HttpRequestLoadBalancerRequest, DefaultLoadBalancerRequest and DefaultAsyncLoadBalancerRequest. --- .../AsyncLoadBalancerInterceptor.java | 7 +- .../DefaultAsyncLoadBalancerRequest.java | 66 ++++++++++++++++ .../DefaultLoadBalancerRequest.java | 76 +++++++++++++++++++ .../HttpRequestLoadBalancerRequest.java | 28 +++++++ .../LoadBalancerRequestFactory.java | 17 ++--- .../client/BlockingLoadBalancerClient.java | 20 ++++- 6 files changed, 196 insertions(+), 18 deletions(-) create mode 100644 spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultAsyncLoadBalancerRequest.java create mode 100644 spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultLoadBalancerRequest.java create mode 100644 spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/HttpRequestLoadBalancerRequest.java diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/AsyncLoadBalancerInterceptor.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/AsyncLoadBalancerInterceptor.java index 6d00965d..8d2391b9 100644 --- a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/AsyncLoadBalancerInterceptor.java +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/AsyncLoadBalancerInterceptor.java @@ -41,11 +41,8 @@ public class AsyncLoadBalancerInterceptor implements AsyncClientHttpRequestInter final AsyncClientHttpRequestExecution execution) throws IOException { final URI originalUri = request.getURI(); String serviceName = originalUri.getHost(); - return this.loadBalancer.execute(serviceName, instance -> { - HttpRequest serviceRequest = new ServiceRequestWrapper(request, instance, - AsyncLoadBalancerInterceptor.this.loadBalancer); - return execution.executeAsync(serviceRequest, body); - }); + return this.loadBalancer.execute(serviceName, new DefaultAsyncLoadBalancerRequest(loadBalancer, + new DefaultAsyncLoadBalancerRequest.ClientHttpRequestData(request, body, execution))); } } diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultAsyncLoadBalancerRequest.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultAsyncLoadBalancerRequest.java new file mode 100644 index 00000000..24a21f4d --- /dev/null +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultAsyncLoadBalancerRequest.java @@ -0,0 +1,66 @@ +/* + * Copyright 2012-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.client.loadbalancer; + +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.http.HttpRequest; +import org.springframework.http.client.AsyncClientHttpRequestExecution; +import org.springframework.http.client.ClientHttpResponse; +import org.springframework.util.concurrent.ListenableFuture; + +/** + * @author Olga Maciaszek-Sharma + */ +class DefaultAsyncLoadBalancerRequest implements HttpRequestLoadBalancerRequest> { + + private final LoadBalancerClient loadBalancer; + + private final ClientHttpRequestData clientHttpRequestData; + + DefaultAsyncLoadBalancerRequest(LoadBalancerClient loadBalancer, ClientHttpRequestData clientHttpRequestData) { + this.loadBalancer = loadBalancer; + this.clientHttpRequestData = clientHttpRequestData; + } + + @Override + public ListenableFuture apply(ServiceInstance instance) throws Exception { + HttpRequest serviceRequest = new ServiceRequestWrapper(clientHttpRequestData.request, instance, loadBalancer); + return clientHttpRequestData.execution.executeAsync(serviceRequest, clientHttpRequestData.body); + } + + @Override + public HttpRequest getHttpRequest() { + return clientHttpRequestData.request; + } + + static class ClientHttpRequestData { + + private final HttpRequest request; + + private final byte[] body; + + private final AsyncClientHttpRequestExecution execution; + + ClientHttpRequestData(HttpRequest request, byte[] body, AsyncClientHttpRequestExecution execution) { + this.request = request; + this.body = body; + this.execution = execution; + } + + } + +} diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultLoadBalancerRequest.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultLoadBalancerRequest.java new file mode 100644 index 00000000..59433945 --- /dev/null +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultLoadBalancerRequest.java @@ -0,0 +1,76 @@ +/* + * Copyright 2012-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.client.loadbalancer; + +import java.util.List; + +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.http.HttpRequest; +import org.springframework.http.client.ClientHttpRequestExecution; +import org.springframework.http.client.ClientHttpResponse; + +/** + * @author Olga Maciaszek-Sharma + */ +class DefaultLoadBalancerRequest implements HttpRequestLoadBalancerRequest { + + private final LoadBalancerClient loadBalancer; + + private final List transformers; + + private final ClientHttpRequestData clientHttpRequestData; + + DefaultLoadBalancerRequest(LoadBalancerClient loadBalancer, List transformers, + ClientHttpRequestData clientHttpRequestData) { + this.loadBalancer = loadBalancer; + this.transformers = transformers; + this.clientHttpRequestData = clientHttpRequestData; + } + + @Override + public ClientHttpResponse apply(ServiceInstance instance) throws Exception { + HttpRequest serviceRequest = new ServiceRequestWrapper(clientHttpRequestData.request, instance, loadBalancer); + if (this.transformers != null) { + for (LoadBalancerRequestTransformer transformer : this.transformers) { + serviceRequest = transformer.transformRequest(serviceRequest, instance); + } + } + return clientHttpRequestData.execution.execute(serviceRequest, clientHttpRequestData.body); + } + + @Override + public HttpRequest getHttpRequest() { + return clientHttpRequestData.request; + } + + static class ClientHttpRequestData { + + private final HttpRequest request; + + private final byte[] body; + + private final ClientHttpRequestExecution execution; + + ClientHttpRequestData(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) { + this.request = request; + this.body = body; + this.execution = execution; + } + + } + +} diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/HttpRequestLoadBalancerRequest.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/HttpRequestLoadBalancerRequest.java new file mode 100644 index 00000000..2a821768 --- /dev/null +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/HttpRequestLoadBalancerRequest.java @@ -0,0 +1,28 @@ +/* + * Copyright 2012-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.client.loadbalancer; + +import org.springframework.http.HttpRequest; + +/** + * @author Olga Maciaszek-Sharma + */ +public interface HttpRequestLoadBalancerRequest extends LoadBalancerRequest { + + HttpRequest getHttpRequest(); + +} diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerRequestFactory.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerRequestFactory.java index 2e45bd63..5ec9bdc0 100644 --- a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerRequestFactory.java +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerRequestFactory.java @@ -16,6 +16,7 @@ package org.springframework.cloud.client.loadbalancer; +import java.util.ArrayList; import java.util.List; import org.springframework.http.HttpRequest; @@ -32,9 +33,9 @@ import org.springframework.http.client.ClientHttpResponse; */ public class LoadBalancerRequestFactory { - private LoadBalancerClient loadBalancer; + private final LoadBalancerClient loadBalancer; - private List transformers; + private final List transformers; public LoadBalancerRequestFactory(LoadBalancerClient loadBalancer, List transformers) { @@ -44,19 +45,13 @@ public class LoadBalancerRequestFactory { public LoadBalancerRequestFactory(LoadBalancerClient loadBalancer) { this.loadBalancer = loadBalancer; + transformers = new ArrayList<>(); } public LoadBalancerRequest createRequest(final HttpRequest request, final byte[] body, final ClientHttpRequestExecution execution) { - return instance -> { - HttpRequest serviceRequest = new ServiceRequestWrapper(request, instance, this.loadBalancer); - if (this.transformers != null) { - for (LoadBalancerRequestTransformer transformer : this.transformers) { - serviceRequest = transformer.transformRequest(serviceRequest, instance); - } - } - return execution.execute(serviceRequest, body); - }; + return new DefaultLoadBalancerRequest(loadBalancer, transformers, + new DefaultLoadBalancerRequest.ClientHttpRequestData(request, body, execution)); } } diff --git a/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/blocking/client/BlockingLoadBalancerClient.java b/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/blocking/client/BlockingLoadBalancerClient.java index e689588b..0beb8177 100644 --- a/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/blocking/client/BlockingLoadBalancerClient.java +++ b/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/blocking/client/BlockingLoadBalancerClient.java @@ -28,6 +28,7 @@ import org.springframework.cloud.client.loadbalancer.DefaultRequest; import org.springframework.cloud.client.loadbalancer.DefaultRequestContext; import org.springframework.cloud.client.loadbalancer.DefaultResponse; import org.springframework.cloud.client.loadbalancer.EmptyResponse; +import org.springframework.cloud.client.loadbalancer.HttpRequestLoadBalancerRequest; import org.springframework.cloud.client.loadbalancer.LoadBalancerClient; import org.springframework.cloud.client.loadbalancer.LoadBalancerLifecycle; import org.springframework.cloud.client.loadbalancer.LoadBalancerLifecycleValidator; @@ -36,10 +37,14 @@ import org.springframework.cloud.client.loadbalancer.LoadBalancerRequest; import org.springframework.cloud.client.loadbalancer.LoadBalancerRequestAdapter; import org.springframework.cloud.client.loadbalancer.LoadBalancerUriTools; import org.springframework.cloud.client.loadbalancer.Request; +import org.springframework.cloud.client.loadbalancer.RequestData; +import org.springframework.cloud.client.loadbalancer.RequestDataContext; import org.springframework.cloud.client.loadbalancer.Response; import org.springframework.cloud.client.loadbalancer.ResponseData; +import org.springframework.cloud.client.loadbalancer.TimedRequestContext; import org.springframework.cloud.client.loadbalancer.reactive.ReactiveLoadBalancer; import org.springframework.cloud.loadbalancer.support.LoadBalancerClientFactory; +import org.springframework.http.HttpRequest; import org.springframework.http.client.ClientHttpResponse; import org.springframework.util.ReflectionUtils; @@ -68,8 +73,8 @@ public class BlockingLoadBalancerClient implements LoadBalancerClient { @Override public T execute(String serviceId, LoadBalancerRequest request) throws IOException { String hint = getHint(serviceId); - LoadBalancerRequestAdapter lbRequest = new LoadBalancerRequestAdapter<>(request, - new DefaultRequestContext(request, hint)); + LoadBalancerRequestAdapter lbRequest = new LoadBalancerRequestAdapter<>(request, + buildRequestContext(request, hint)); Set supportedLifecycleProcessors = getSupportedLifecycleProcessors(serviceId); supportedLifecycleProcessors.forEach(lifecycle -> lifecycle.onStart(lbRequest)); ServiceInstance serviceInstance = choose(serviceId, lbRequest); @@ -81,6 +86,17 @@ public class BlockingLoadBalancerClient implements LoadBalancerClient { return execute(serviceId, serviceInstance, lbRequest); } + private TimedRequestContext buildRequestContext(LoadBalancerRequest delegate, String hint) { + if (delegate instanceof HttpRequestLoadBalancerRequest) { + HttpRequest request = ((HttpRequestLoadBalancerRequest) delegate).getHttpRequest(); + if (request != null) { + RequestData requestData = new RequestData(request); + return new RequestDataContext(requestData, hint); + } + } + return new DefaultRequestContext(delegate, hint); + } + @Override public T execute(String serviceId, ServiceInstance serviceInstance, LoadBalancerRequest request) throws IOException { From c13ee2c884346338cf940e04b3ff30a414a01dd6 Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Thu, 21 Apr 2022 15:18:20 +0200 Subject: [PATCH 07/18] Add Javadocs. --- .../client/loadbalancer/AsyncLoadBalancerInterceptor.java | 5 +++-- .../client/loadbalancer/DefaultAsyncLoadBalancerRequest.java | 3 +++ .../client/loadbalancer/DefaultLoadBalancerRequest.java | 3 +++ .../client/loadbalancer/HttpRequestLoadBalancerRequest.java | 3 +++ .../client/loadbalancer/LoadBalancerRequestFactory.java | 3 ++- 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/AsyncLoadBalancerInterceptor.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/AsyncLoadBalancerInterceptor.java index 8d2391b9..8b1e6209 100644 --- a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/AsyncLoadBalancerInterceptor.java +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/AsyncLoadBalancerInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-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. @@ -27,6 +27,7 @@ import org.springframework.util.concurrent.ListenableFuture; /** * @author Rob Worsnop + * @author Olga Maciaszek-Sharma */ public class AsyncLoadBalancerInterceptor implements AsyncClientHttpRequestInterceptor { @@ -41,7 +42,7 @@ public class AsyncLoadBalancerInterceptor implements AsyncClientHttpRequestInter final AsyncClientHttpRequestExecution execution) throws IOException { final URI originalUri = request.getURI(); String serviceName = originalUri.getHost(); - return this.loadBalancer.execute(serviceName, new DefaultAsyncLoadBalancerRequest(loadBalancer, + return loadBalancer.execute(serviceName, new DefaultAsyncLoadBalancerRequest(loadBalancer, new DefaultAsyncLoadBalancerRequest.ClientHttpRequestData(request, body, execution))); } diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultAsyncLoadBalancerRequest.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultAsyncLoadBalancerRequest.java index 24a21f4d..ea94f5a8 100644 --- a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultAsyncLoadBalancerRequest.java +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultAsyncLoadBalancerRequest.java @@ -23,7 +23,10 @@ import org.springframework.http.client.ClientHttpResponse; import org.springframework.util.concurrent.ListenableFuture; /** + * Default {@link LoadBalancerRequest} implementation for async use-cases. + * * @author Olga Maciaszek-Sharma + * @since 3.1.2 */ class DefaultAsyncLoadBalancerRequest implements HttpRequestLoadBalancerRequest> { diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultLoadBalancerRequest.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultLoadBalancerRequest.java index 59433945..8800c5cf 100644 --- a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultLoadBalancerRequest.java +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultLoadBalancerRequest.java @@ -24,7 +24,10 @@ import org.springframework.http.client.ClientHttpRequestExecution; import org.springframework.http.client.ClientHttpResponse; /** + * Default {@link LoadBalancerRequest} implementation. + * * @author Olga Maciaszek-Sharma + * @since 3.1.2 */ class DefaultLoadBalancerRequest implements HttpRequestLoadBalancerRequest { diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/HttpRequestLoadBalancerRequest.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/HttpRequestLoadBalancerRequest.java index 2a821768..9c4ae023 100644 --- a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/HttpRequestLoadBalancerRequest.java +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/HttpRequestLoadBalancerRequest.java @@ -19,7 +19,10 @@ package org.springframework.cloud.client.loadbalancer; import org.springframework.http.HttpRequest; /** + * Represents a {@link LoadBalancerRequest} created on top of an {@link HttpRequest}. + * * @author Olga Maciaszek-Sharma + * @since 3.1.2 */ public interface HttpRequestLoadBalancerRequest extends LoadBalancerRequest { diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerRequestFactory.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerRequestFactory.java index 5ec9bdc0..c7f5c912 100644 --- a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerRequestFactory.java +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerRequestFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-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. @@ -29,6 +29,7 @@ import org.springframework.http.client.ClientHttpResponse; * to the intercepted {@link HttpRequest}. * * @author William Tran + * @author Olga Maciaszek-Sharma * */ public class LoadBalancerRequestFactory { From c09c1ca6b43af40da72961e1f80fd5de850c8abb Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Thu, 21 Apr 2022 16:47:52 +0200 Subject: [PATCH 08/18] Rename classes after review. --- .../client/loadbalancer/AsyncLoadBalancerInterceptor.java | 4 ++-- ...LoadBalancerRequest.java => AsyncLoadBalancerRequest.java} | 4 ++-- ...dBalancerRequest.java => BlockingLoadBalancerRequest.java} | 4 ++-- .../cloud/client/loadbalancer/LoadBalancerRequestFactory.java | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) rename spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/{DefaultAsyncLoadBalancerRequest.java => AsyncLoadBalancerRequest.java} (89%) rename spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/{DefaultLoadBalancerRequest.java => BlockingLoadBalancerRequest.java} (91%) diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/AsyncLoadBalancerInterceptor.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/AsyncLoadBalancerInterceptor.java index 8b1e6209..6e07677f 100644 --- a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/AsyncLoadBalancerInterceptor.java +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/AsyncLoadBalancerInterceptor.java @@ -42,8 +42,8 @@ public class AsyncLoadBalancerInterceptor implements AsyncClientHttpRequestInter final AsyncClientHttpRequestExecution execution) throws IOException { final URI originalUri = request.getURI(); String serviceName = originalUri.getHost(); - return loadBalancer.execute(serviceName, new DefaultAsyncLoadBalancerRequest(loadBalancer, - new DefaultAsyncLoadBalancerRequest.ClientHttpRequestData(request, body, execution))); + return loadBalancer.execute(serviceName, new AsyncLoadBalancerRequest(loadBalancer, + new AsyncLoadBalancerRequest.ClientHttpRequestData(request, body, execution))); } } diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultAsyncLoadBalancerRequest.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/AsyncLoadBalancerRequest.java similarity index 89% rename from spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultAsyncLoadBalancerRequest.java rename to spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/AsyncLoadBalancerRequest.java index ea94f5a8..4005fd05 100644 --- a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultAsyncLoadBalancerRequest.java +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/AsyncLoadBalancerRequest.java @@ -28,13 +28,13 @@ import org.springframework.util.concurrent.ListenableFuture; * @author Olga Maciaszek-Sharma * @since 3.1.2 */ -class DefaultAsyncLoadBalancerRequest implements HttpRequestLoadBalancerRequest> { +class AsyncLoadBalancerRequest implements HttpRequestLoadBalancerRequest> { private final LoadBalancerClient loadBalancer; private final ClientHttpRequestData clientHttpRequestData; - DefaultAsyncLoadBalancerRequest(LoadBalancerClient loadBalancer, ClientHttpRequestData clientHttpRequestData) { + AsyncLoadBalancerRequest(LoadBalancerClient loadBalancer, ClientHttpRequestData clientHttpRequestData) { this.loadBalancer = loadBalancer; this.clientHttpRequestData = clientHttpRequestData; } diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultLoadBalancerRequest.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/BlockingLoadBalancerRequest.java similarity index 91% rename from spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultLoadBalancerRequest.java rename to spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/BlockingLoadBalancerRequest.java index 8800c5cf..d51e247f 100644 --- a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/DefaultLoadBalancerRequest.java +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/BlockingLoadBalancerRequest.java @@ -29,7 +29,7 @@ import org.springframework.http.client.ClientHttpResponse; * @author Olga Maciaszek-Sharma * @since 3.1.2 */ -class DefaultLoadBalancerRequest implements HttpRequestLoadBalancerRequest { +class BlockingLoadBalancerRequest implements HttpRequestLoadBalancerRequest { private final LoadBalancerClient loadBalancer; @@ -37,7 +37,7 @@ class DefaultLoadBalancerRequest implements HttpRequestLoadBalancerRequest transformers, + BlockingLoadBalancerRequest(LoadBalancerClient loadBalancer, List transformers, ClientHttpRequestData clientHttpRequestData) { this.loadBalancer = loadBalancer; this.transformers = transformers; diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerRequestFactory.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerRequestFactory.java index c7f5c912..b8a06fbb 100644 --- a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerRequestFactory.java +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerRequestFactory.java @@ -51,8 +51,8 @@ public class LoadBalancerRequestFactory { public LoadBalancerRequest createRequest(final HttpRequest request, final byte[] body, final ClientHttpRequestExecution execution) { - return new DefaultLoadBalancerRequest(loadBalancer, transformers, - new DefaultLoadBalancerRequest.ClientHttpRequestData(request, body, execution)); + return new BlockingLoadBalancerRequest(loadBalancer, transformers, + new BlockingLoadBalancerRequest.ClientHttpRequestData(request, body, execution)); } } From d24ab1b7cf5b49876c0e5bdcae24ae017faa3991 Mon Sep 17 00:00:00 2001 From: jizhuozhi <1218060852@qq.com> Date: Fri, 11 Mar 2022 19:50:13 +0800 Subject: [PATCH 09/18] Remove unnecessary sign check, whether positive or negative (#1078) --- .../core/RoundRobinLoadBalancer.java | 5 +- .../core/RoundRobinLoadBalancerTest.java | 77 +++++++++++++++++++ 2 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTest.java diff --git a/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancer.java b/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancer.java index dc15f340..0b1e015e 100644 --- a/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancer.java +++ b/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancer.java @@ -98,8 +98,9 @@ public class RoundRobinLoadBalancer implements ReactorServiceInstanceLoadBalance } return new EmptyResponse(); } - // TODO: enforce order? - int pos = Math.abs(this.position.incrementAndGet()); + + // Ignore the sign bit, this allows pos to loop sequentially from 0 to Integer.MAX_VALUE + int pos = this.position.incrementAndGet() & Integer.MAX_VALUE; ServiceInstance instance = instances.get(pos % instances.size()); diff --git a/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTest.java b/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTest.java new file mode 100644 index 00000000..755d6684 --- /dev/null +++ b/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTest.java @@ -0,0 +1,77 @@ +/* + * Copyright 2012-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.loadbalancer.core; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.jupiter.api.Test; +import reactor.core.publisher.Flux; + +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.loadbalancer.support.SimpleObjectProvider; + +import static java.lang.Integer.MAX_VALUE; +import static java.lang.Integer.MIN_VALUE; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +/** + * @author Zhuozhi JI + */ +class RoundRobinLoadBalancerTest { + + @Test + void shouldOrderEnforcedWhenPositive() { + assertOrderEnforced(0); + } + + @Test + void shouldOrderEnforcedWhenNegative() { + assertOrderEnforced(MIN_VALUE); + } + + @Test + void shouldOrderEnforcedWhenPositiveOverflow() { + assertOrderEnforced(MAX_VALUE); + } + + @SuppressWarnings("all") + void assertOrderEnforced(int seed) { + List instances = new ArrayList<>(); + for (int i = 0; i < 10; i++) { + ServiceInstance instance = mock(ServiceInstance.class); + when(instance.getInstanceId()).thenReturn(i + ""); + instances.add(instance); + } + SameInstancePreferenceServiceInstanceListSupplier supplier = mock( + SameInstancePreferenceServiceInstanceListSupplier.class); + when(supplier.get(any())).thenReturn(Flux.just(instances)); + + RoundRobinLoadBalancer loadBalancer = new RoundRobinLoadBalancer(new SimpleObjectProvider<>(supplier), + "shouldStartFromZeroWhenPositiveOverflow", seed); + + for (int i = 0; i < 10; i++) { + int instanceId = ((seed + 1 + i) & MAX_VALUE) % instances.size(); + ServiceInstance chosen = loadBalancer.choose().block().getServer(); + assertThat(chosen.getInstanceId()).isEqualTo(instanceId + ""); + } + } + +} From 12842c2c7a43e9b1f36150436ab44f0fd408fa54 Mon Sep 17 00:00:00 2001 From: jizhuozhi <1218060852@qq.com> Date: Mon, 7 Mar 2022 22:24:43 +0800 Subject: [PATCH 10/18] Enforces the order of RoundRobinLoadBalancer when positive overflow (#1077) # Conflicts: # spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancer.java # spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTest.java --- .../core/RoundRobinLoadBalancer.java | 1 + .../core/RoundRobinLoadBalancerTest.java | 24 +++---------------- 2 files changed, 4 insertions(+), 21 deletions(-) diff --git a/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancer.java b/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancer.java index 0b1e015e..7dbe5512 100644 --- a/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancer.java +++ b/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancer.java @@ -36,6 +36,7 @@ import org.springframework.cloud.client.loadbalancer.Response; * * @author Spencer Gibb * @author Olga Maciaszek-Sharma + * @author Zhuozhi JI */ public class RoundRobinLoadBalancer implements ReactorServiceInstanceLoadBalancer { diff --git a/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTest.java b/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTest.java index 755d6684..20a1bb89 100644 --- a/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTest.java +++ b/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTest.java @@ -26,7 +26,6 @@ import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.loadbalancer.support.SimpleObjectProvider; import static java.lang.Integer.MAX_VALUE; -import static java.lang.Integer.MIN_VALUE; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; @@ -38,22 +37,7 @@ import static org.mockito.Mockito.when; class RoundRobinLoadBalancerTest { @Test - void shouldOrderEnforcedWhenPositive() { - assertOrderEnforced(0); - } - - @Test - void shouldOrderEnforcedWhenNegative() { - assertOrderEnforced(MIN_VALUE); - } - - @Test - void shouldOrderEnforcedWhenPositiveOverflow() { - assertOrderEnforced(MAX_VALUE); - } - - @SuppressWarnings("all") - void assertOrderEnforced(int seed) { + void shouldEnforceOrderWhenPositiveOverflow() { List instances = new ArrayList<>(); for (int i = 0; i < 10; i++) { ServiceInstance instance = mock(ServiceInstance.class); @@ -65,13 +49,11 @@ class RoundRobinLoadBalancerTest { when(supplier.get(any())).thenReturn(Flux.just(instances)); RoundRobinLoadBalancer loadBalancer = new RoundRobinLoadBalancer(new SimpleObjectProvider<>(supplier), - "shouldStartFromZeroWhenPositiveOverflow", seed); + "shouldStartFromZeroWhenPositiveOverflow", MAX_VALUE); for (int i = 0; i < 10; i++) { - int instanceId = ((seed + 1 + i) & MAX_VALUE) % instances.size(); ServiceInstance chosen = loadBalancer.choose().block().getServer(); - assertThat(chosen.getInstanceId()).isEqualTo(instanceId + ""); + assertThat(chosen.getInstanceId()).isEqualTo(i + ""); } } - } From f70b006b320b1e822c971f2192d3148543741db4 Mon Sep 17 00:00:00 2001 From: jizhuozhi <1218060852@qq.com> Date: Fri, 11 Mar 2022 19:50:13 +0800 Subject: [PATCH 11/18] Remove unnecessary sign check, whether positive or negative (#1078) --- .../core/RoundRobinLoadBalancerTest.java | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTest.java b/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTest.java index 20a1bb89..3482ea82 100644 --- a/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTest.java +++ b/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTest.java @@ -26,6 +26,7 @@ import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.loadbalancer.support.SimpleObjectProvider; import static java.lang.Integer.MAX_VALUE; +import static java.lang.Integer.MIN_VALUE; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; @@ -37,7 +38,22 @@ import static org.mockito.Mockito.when; class RoundRobinLoadBalancerTest { @Test - void shouldEnforceOrderWhenPositiveOverflow() { + void shouldOrderEnforcedWhenPositive() { + assertOrderEnforced(0); + } + + @Test + void shouldOrderEnforcedWhenNegative() { + assertOrderEnforced(MIN_VALUE); + } + + @Test + void shouldOrderEnforcedWhenPositiveOverflow() { + assertOrderEnforced(MAX_VALUE); + } + + @SuppressWarnings("all") + void assertOrderEnforced(int seed) { List instances = new ArrayList<>(); for (int i = 0; i < 10; i++) { ServiceInstance instance = mock(ServiceInstance.class); @@ -49,11 +65,12 @@ class RoundRobinLoadBalancerTest { when(supplier.get(any())).thenReturn(Flux.just(instances)); RoundRobinLoadBalancer loadBalancer = new RoundRobinLoadBalancer(new SimpleObjectProvider<>(supplier), - "shouldStartFromZeroWhenPositiveOverflow", MAX_VALUE); + "shouldStartFromZeroWhenPositiveOverflow", seed); for (int i = 0; i < 10; i++) { + int instanceId = ((seed + 1 + i) & MAX_VALUE) % instances.size(); ServiceInstance chosen = loadBalancer.choose().block().getServer(); - assertThat(chosen.getInstanceId()).isEqualTo(i + ""); + assertThat(chosen.getInstanceId()).isEqualTo(instanceId + ""); } } } From ecec99a37d1be7e35408384f3f54aa22b00e4ea3 Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Mon, 4 Apr 2022 13:26:38 +0200 Subject: [PATCH 12/18] Fix test naming. --- ...inLoadBalancerTest.java => RoundRobinLoadBalancerTests.java} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/{RoundRobinLoadBalancerTest.java => RoundRobinLoadBalancerTests.java} (98%) diff --git a/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTest.java b/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTests.java similarity index 98% rename from spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTest.java rename to spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTests.java index 3482ea82..efe57482 100644 --- a/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTest.java +++ b/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTests.java @@ -35,7 +35,7 @@ import static org.mockito.Mockito.when; /** * @author Zhuozhi JI */ -class RoundRobinLoadBalancerTest { +class RoundRobinLoadBalancerTests { @Test void shouldOrderEnforcedWhenPositive() { From 374cf977ac5659d39f22c590f08fd3de77dd4e46 Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Wed, 29 Jun 2022 13:06:31 +0200 Subject: [PATCH 13/18] Reformat. --- .../cloud/loadbalancer/core/RoundRobinLoadBalancer.java | 3 ++- .../cloud/loadbalancer/core/RoundRobinLoadBalancerTests.java | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancer.java b/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancer.java index 7dbe5512..e4c5b1ea 100644 --- a/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancer.java +++ b/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancer.java @@ -100,7 +100,8 @@ public class RoundRobinLoadBalancer implements ReactorServiceInstanceLoadBalance return new EmptyResponse(); } - // Ignore the sign bit, this allows pos to loop sequentially from 0 to Integer.MAX_VALUE + // Ignore the sign bit, this allows pos to loop sequentially from 0 to + // Integer.MAX_VALUE int pos = this.position.incrementAndGet() & Integer.MAX_VALUE; ServiceInstance instance = instances.get(pos % instances.size()); diff --git a/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTests.java b/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTests.java index efe57482..574a33b1 100644 --- a/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTests.java +++ b/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/RoundRobinLoadBalancerTests.java @@ -73,4 +73,5 @@ class RoundRobinLoadBalancerTests { assertThat(chosen.getInstanceId()).isEqualTo(instanceId + ""); } } + } From e761bcad5747dc45d88a3dd173c161ab988cbaec Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Wed, 29 Jun 2022 16:58:31 +0200 Subject: [PATCH 14/18] Upgrade dependencies. --- pom.xml | 2 +- spring-cloud-commons-dependencies/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index b640a710..04dbd33c 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ commons 1.0.0 - 2.4.3 + 2.4.13 diff --git a/spring-cloud-commons-dependencies/pom.xml b/spring-cloud-commons-dependencies/pom.xml index d0e85715..1e31d9a0 100644 --- a/spring-cloud-commons-dependencies/pom.xml +++ b/spring-cloud-commons-dependencies/pom.xml @@ -15,7 +15,7 @@ spring-cloud-commons-dependencies Spring Cloud Commons Dependencies - 1.0.10.RELEASE + 1.0.11.RELEASE From b909bc63630a54f2f253a1932ad3219713251094 Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Wed, 29 Jun 2022 17:45:08 +0200 Subject: [PATCH 15/18] Add deprecations. --- pom.xml | 3 ++- .../security/OAuth2LoadBalancerClientAutoConfiguration.java | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 04dbd33c..a570ea33 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,8 @@ commons 1.0.0 - 2.4.13 + + 2.5.2 diff --git a/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/security/OAuth2LoadBalancerClientAutoConfiguration.java b/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/security/OAuth2LoadBalancerClientAutoConfiguration.java index 764067a8..bdf126bf 100644 --- a/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/security/OAuth2LoadBalancerClientAutoConfiguration.java +++ b/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/security/OAuth2LoadBalancerClientAutoConfiguration.java @@ -40,6 +40,7 @@ import org.springframework.security.oauth2.client.OAuth2RestTemplate; @ConditionalOnClass(OAuth2RestTemplate.class) @ConditionalOnProperty("spring.cloud.oauth2.load-balanced.enabled") @AutoConfigureAfter(OAuth2AutoConfiguration.class) +@Deprecated // spring-security-oauth2 reached EOL public class OAuth2LoadBalancerClientAutoConfiguration { @Configuration(proxyBeanMethods = false) From 2761aa011d9a2765728ab64665017eb4a211bfcf Mon Sep 17 00:00:00 2001 From: buildmaster Date: Wed, 29 Jun 2022 21:58:04 +0000 Subject: [PATCH 16/18] Update SNAPSHOT to 3.0.6 --- docs/pom.xml | 2 +- pom.xml | 4 ++-- spring-cloud-commons-dependencies/pom.xml | 4 ++-- spring-cloud-commons/pom.xml | 2 +- spring-cloud-context-integration-tests/pom.xml | 2 +- spring-cloud-context-webflux-integration-tests/pom.xml | 2 +- spring-cloud-context/pom.xml | 2 +- spring-cloud-loadbalancer/pom.xml | 2 +- spring-cloud-starter-bootstrap/pom.xml | 2 +- spring-cloud-starter-loadbalancer/pom.xml | 2 +- spring-cloud-starter/pom.xml | 2 +- spring-cloud-test-support/pom.xml | 2 +- 12 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/pom.xml b/docs/pom.xml index 1fa73b0d..1454281c 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -8,7 +8,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.6 jar Spring Cloud Commons Docs diff --git a/pom.xml b/pom.xml index a570ea33..d6672a91 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.6 pom Spring Cloud Commons Parent Spring Cloud Commons Parent @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-build - 3.0.6-SNAPSHOT + 3.0.5 diff --git a/spring-cloud-commons-dependencies/pom.xml b/spring-cloud-commons-dependencies/pom.xml index 1e31d9a0..b4c92cd7 100644 --- a/spring-cloud-commons-dependencies/pom.xml +++ b/spring-cloud-commons-dependencies/pom.xml @@ -6,11 +6,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 3.0.6-SNAPSHOT + 3.0.5 spring-cloud-commons-dependencies - 3.0.6-SNAPSHOT + 3.0.6 pom spring-cloud-commons-dependencies Spring Cloud Commons Dependencies diff --git a/spring-cloud-commons/pom.xml b/spring-cloud-commons/pom.xml index 2017bbf9..89d630dc 100644 --- a/spring-cloud-commons/pom.xml +++ b/spring-cloud-commons/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.6 .. spring-cloud-commons diff --git a/spring-cloud-context-integration-tests/pom.xml b/spring-cloud-context-integration-tests/pom.xml index 1d3171a0..67478ded 100644 --- a/spring-cloud-context-integration-tests/pom.xml +++ b/spring-cloud-context-integration-tests/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.6 .. spring-cloud-context-integration-tests diff --git a/spring-cloud-context-webflux-integration-tests/pom.xml b/spring-cloud-context-webflux-integration-tests/pom.xml index 33bebf3b..41113062 100644 --- a/spring-cloud-context-webflux-integration-tests/pom.xml +++ b/spring-cloud-context-webflux-integration-tests/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.6 .. spring-cloud-context-webflux-integration-tests diff --git a/spring-cloud-context/pom.xml b/spring-cloud-context/pom.xml index 9900a524..c0db9be3 100644 --- a/spring-cloud-context/pom.xml +++ b/spring-cloud-context/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.6 .. spring-cloud-context diff --git a/spring-cloud-loadbalancer/pom.xml b/spring-cloud-loadbalancer/pom.xml index b13ebb7b..85d47bc8 100644 --- a/spring-cloud-loadbalancer/pom.xml +++ b/spring-cloud-loadbalancer/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.6 .. spring-cloud-loadbalancer diff --git a/spring-cloud-starter-bootstrap/pom.xml b/spring-cloud-starter-bootstrap/pom.xml index b4416e02..375f2d39 100644 --- a/spring-cloud-starter-bootstrap/pom.xml +++ b/spring-cloud-starter-bootstrap/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.6 .. jar diff --git a/spring-cloud-starter-loadbalancer/pom.xml b/spring-cloud-starter-loadbalancer/pom.xml index 112b145f..c6c53548 100644 --- a/spring-cloud-starter-loadbalancer/pom.xml +++ b/spring-cloud-starter-loadbalancer/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.6 .. 4.0.0 diff --git a/spring-cloud-starter/pom.xml b/spring-cloud-starter/pom.xml index 9e9ab845..50a38d70 100644 --- a/spring-cloud-starter/pom.xml +++ b/spring-cloud-starter/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.6 spring-cloud-starter spring-cloud-starter diff --git a/spring-cloud-test-support/pom.xml b/spring-cloud-test-support/pom.xml index af9c7fbb..72a88e54 100644 --- a/spring-cloud-test-support/pom.xml +++ b/spring-cloud-test-support/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.6 .. spring-cloud-test-support From 1aa83427b664e806a064d2881583f6ab144e6d4b Mon Sep 17 00:00:00 2001 From: buildmaster Date: Wed, 29 Jun 2022 22:00:52 +0000 Subject: [PATCH 17/18] Going back to snapshots --- docs/pom.xml | 2 +- pom.xml | 4 ++-- spring-cloud-commons-dependencies/pom.xml | 4 ++-- spring-cloud-commons/pom.xml | 2 +- spring-cloud-context-integration-tests/pom.xml | 2 +- spring-cloud-context-webflux-integration-tests/pom.xml | 2 +- spring-cloud-context/pom.xml | 2 +- spring-cloud-loadbalancer/pom.xml | 2 +- spring-cloud-starter-bootstrap/pom.xml | 2 +- spring-cloud-starter-loadbalancer/pom.xml | 2 +- spring-cloud-starter/pom.xml | 2 +- spring-cloud-test-support/pom.xml | 2 +- 12 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/pom.xml b/docs/pom.xml index 1454281c..1fa73b0d 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -8,7 +8,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6 + 3.0.6-SNAPSHOT jar Spring Cloud Commons Docs diff --git a/pom.xml b/pom.xml index d6672a91..a570ea33 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.springframework.cloud spring-cloud-commons-parent - 3.0.6 + 3.0.6-SNAPSHOT pom Spring Cloud Commons Parent Spring Cloud Commons Parent @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-build - 3.0.5 + 3.0.6-SNAPSHOT diff --git a/spring-cloud-commons-dependencies/pom.xml b/spring-cloud-commons-dependencies/pom.xml index b4c92cd7..1e31d9a0 100644 --- a/spring-cloud-commons-dependencies/pom.xml +++ b/spring-cloud-commons-dependencies/pom.xml @@ -6,11 +6,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 3.0.5 + 3.0.6-SNAPSHOT spring-cloud-commons-dependencies - 3.0.6 + 3.0.6-SNAPSHOT pom spring-cloud-commons-dependencies Spring Cloud Commons Dependencies diff --git a/spring-cloud-commons/pom.xml b/spring-cloud-commons/pom.xml index 89d630dc..2017bbf9 100644 --- a/spring-cloud-commons/pom.xml +++ b/spring-cloud-commons/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6 + 3.0.6-SNAPSHOT .. spring-cloud-commons diff --git a/spring-cloud-context-integration-tests/pom.xml b/spring-cloud-context-integration-tests/pom.xml index 67478ded..1d3171a0 100644 --- a/spring-cloud-context-integration-tests/pom.xml +++ b/spring-cloud-context-integration-tests/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6 + 3.0.6-SNAPSHOT .. spring-cloud-context-integration-tests diff --git a/spring-cloud-context-webflux-integration-tests/pom.xml b/spring-cloud-context-webflux-integration-tests/pom.xml index 41113062..33bebf3b 100644 --- a/spring-cloud-context-webflux-integration-tests/pom.xml +++ b/spring-cloud-context-webflux-integration-tests/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6 + 3.0.6-SNAPSHOT .. spring-cloud-context-webflux-integration-tests diff --git a/spring-cloud-context/pom.xml b/spring-cloud-context/pom.xml index c0db9be3..9900a524 100644 --- a/spring-cloud-context/pom.xml +++ b/spring-cloud-context/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6 + 3.0.6-SNAPSHOT .. spring-cloud-context diff --git a/spring-cloud-loadbalancer/pom.xml b/spring-cloud-loadbalancer/pom.xml index 85d47bc8..b13ebb7b 100644 --- a/spring-cloud-loadbalancer/pom.xml +++ b/spring-cloud-loadbalancer/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6 + 3.0.6-SNAPSHOT .. spring-cloud-loadbalancer diff --git a/spring-cloud-starter-bootstrap/pom.xml b/spring-cloud-starter-bootstrap/pom.xml index 375f2d39..b4416e02 100644 --- a/spring-cloud-starter-bootstrap/pom.xml +++ b/spring-cloud-starter-bootstrap/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6 + 3.0.6-SNAPSHOT .. jar diff --git a/spring-cloud-starter-loadbalancer/pom.xml b/spring-cloud-starter-loadbalancer/pom.xml index c6c53548..112b145f 100644 --- a/spring-cloud-starter-loadbalancer/pom.xml +++ b/spring-cloud-starter-loadbalancer/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6 + 3.0.6-SNAPSHOT .. 4.0.0 diff --git a/spring-cloud-starter/pom.xml b/spring-cloud-starter/pom.xml index 50a38d70..9e9ab845 100644 --- a/spring-cloud-starter/pom.xml +++ b/spring-cloud-starter/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6 + 3.0.6-SNAPSHOT spring-cloud-starter spring-cloud-starter diff --git a/spring-cloud-test-support/pom.xml b/spring-cloud-test-support/pom.xml index 72a88e54..af9c7fbb 100644 --- a/spring-cloud-test-support/pom.xml +++ b/spring-cloud-test-support/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6 + 3.0.6-SNAPSHOT .. spring-cloud-test-support From e72fc6c6906cab8dedd1277dccffb5aeca99aec6 Mon Sep 17 00:00:00 2001 From: buildmaster Date: Wed, 29 Jun 2022 22:00:53 +0000 Subject: [PATCH 18/18] Bumping versions to 3.0.7-SNAPSHOT after release --- docs/pom.xml | 2 +- pom.xml | 4 ++-- spring-cloud-commons-dependencies/pom.xml | 2 +- spring-cloud-commons/pom.xml | 2 +- spring-cloud-context-integration-tests/pom.xml | 2 +- spring-cloud-context-webflux-integration-tests/pom.xml | 2 +- spring-cloud-context/pom.xml | 2 +- spring-cloud-loadbalancer/pom.xml | 2 +- spring-cloud-starter-bootstrap/pom.xml | 2 +- spring-cloud-starter-loadbalancer/pom.xml | 2 +- spring-cloud-starter/pom.xml | 2 +- spring-cloud-test-support/pom.xml | 2 +- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/pom.xml b/docs/pom.xml index 1fa73b0d..3ca002fa 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -8,7 +8,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.7-SNAPSHOT jar Spring Cloud Commons Docs diff --git a/pom.xml b/pom.xml index a570ea33..46392e5d 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.7-SNAPSHOT pom Spring Cloud Commons Parent Spring Cloud Commons Parent @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-build - 3.0.6-SNAPSHOT + 3.0.5 diff --git a/spring-cloud-commons-dependencies/pom.xml b/spring-cloud-commons-dependencies/pom.xml index 1e31d9a0..da076e16 100644 --- a/spring-cloud-commons-dependencies/pom.xml +++ b/spring-cloud-commons-dependencies/pom.xml @@ -10,7 +10,7 @@ spring-cloud-commons-dependencies - 3.0.6-SNAPSHOT + 3.0.7-SNAPSHOT pom spring-cloud-commons-dependencies Spring Cloud Commons Dependencies diff --git a/spring-cloud-commons/pom.xml b/spring-cloud-commons/pom.xml index 2017bbf9..bfaf80a6 100644 --- a/spring-cloud-commons/pom.xml +++ b/spring-cloud-commons/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.7-SNAPSHOT .. spring-cloud-commons diff --git a/spring-cloud-context-integration-tests/pom.xml b/spring-cloud-context-integration-tests/pom.xml index 1d3171a0..c11d0c4b 100644 --- a/spring-cloud-context-integration-tests/pom.xml +++ b/spring-cloud-context-integration-tests/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.7-SNAPSHOT .. spring-cloud-context-integration-tests diff --git a/spring-cloud-context-webflux-integration-tests/pom.xml b/spring-cloud-context-webflux-integration-tests/pom.xml index 33bebf3b..a567cd86 100644 --- a/spring-cloud-context-webflux-integration-tests/pom.xml +++ b/spring-cloud-context-webflux-integration-tests/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.7-SNAPSHOT .. spring-cloud-context-webflux-integration-tests diff --git a/spring-cloud-context/pom.xml b/spring-cloud-context/pom.xml index 9900a524..0382ed02 100644 --- a/spring-cloud-context/pom.xml +++ b/spring-cloud-context/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.7-SNAPSHOT .. spring-cloud-context diff --git a/spring-cloud-loadbalancer/pom.xml b/spring-cloud-loadbalancer/pom.xml index b13ebb7b..b7091405 100644 --- a/spring-cloud-loadbalancer/pom.xml +++ b/spring-cloud-loadbalancer/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.7-SNAPSHOT .. spring-cloud-loadbalancer diff --git a/spring-cloud-starter-bootstrap/pom.xml b/spring-cloud-starter-bootstrap/pom.xml index b4416e02..0c81cc0e 100644 --- a/spring-cloud-starter-bootstrap/pom.xml +++ b/spring-cloud-starter-bootstrap/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.7-SNAPSHOT .. jar diff --git a/spring-cloud-starter-loadbalancer/pom.xml b/spring-cloud-starter-loadbalancer/pom.xml index 112b145f..8bb5310b 100644 --- a/spring-cloud-starter-loadbalancer/pom.xml +++ b/spring-cloud-starter-loadbalancer/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.7-SNAPSHOT .. 4.0.0 diff --git a/spring-cloud-starter/pom.xml b/spring-cloud-starter/pom.xml index 9e9ab845..5633f521 100644 --- a/spring-cloud-starter/pom.xml +++ b/spring-cloud-starter/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.7-SNAPSHOT spring-cloud-starter spring-cloud-starter diff --git a/spring-cloud-test-support/pom.xml b/spring-cloud-test-support/pom.xml index af9c7fbb..5c0604a2 100644 --- a/spring-cloud-test-support/pom.xml +++ b/spring-cloud-test-support/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-commons-parent - 3.0.6-SNAPSHOT + 3.0.7-SNAPSHOT .. spring-cloud-test-support