From 9551cfb5c256bad49b8abd3912767e455efdb317 Mon Sep 17 00:00:00 2001 From: Olga MaciaszekSharma Date: Mon, 15 Mar 2021 20:03:05 +0100 Subject: [PATCH] Add note on not using `@Configuration` with `@LoadBalancerClient`. Regenerate configprops. Fixes gh-922. --- docs/src/main/asciidoc/_configprops.adoc | 85 +++++++++---------- .../main/asciidoc/spring-cloud-commons.adoc | 5 ++ 2 files changed, 46 insertions(+), 44 deletions(-) diff --git a/docs/src/main/asciidoc/_configprops.adoc b/docs/src/main/asciidoc/_configprops.adoc index 948636bc..4b0abedd 100644 --- a/docs/src/main/asciidoc/_configprops.adoc +++ b/docs/src/main/asciidoc/_configprops.adoc @@ -2,59 +2,56 @@ |Name | Default | Description |spring.cloud.compatibility-verifier.compatible-boot-versions | | Default accepted versions for the Spring Boot dependency. You can set {@code x} for the patch version if you don't want to specify a concrete value. Example: {@code 3.4.x} -|spring.cloud.compatibility-verifier.enabled | false | Enables creation of Spring Cloud compatibility verification. -|spring.cloud.config.allow-override | true | Flag to indicate that {@link #isOverrideSystemProperties() systemPropertiesOverride} can be used. Set to false to prevent users from changing the default accidentally. Default true. -|spring.cloud.config.override-none | false | Flag to indicate that when {@link #setAllowOverride(boolean) allowOverride} is true, external properties should take lowest priority and should not override any existing property sources (including local config files). Default false. -|spring.cloud.config.override-system-properties | true | Flag to indicate that the external properties should override system properties. Default true. -|spring.cloud.discovery.client.composite-indicator.enabled | true | Enables discovery client composite health indicator. -|spring.cloud.discovery.client.health-indicator.enabled | true | -|spring.cloud.discovery.client.health-indicator.include-description | false | +|spring.cloud.compatibility-verifier.enabled | `false` | Enables creation of Spring Cloud compatibility verification. +|spring.cloud.config.allow-override | `true` | Flag to indicate that {@link #isOverrideSystemProperties() systemPropertiesOverride} can be used. Set to false to prevent users from changing the default accidentally. Default true. +|spring.cloud.config.override-none | `false` | Flag to indicate that when {@link #setAllowOverride(boolean) allowOverride} is true, external properties should take lowest priority and should not override any existing property sources (including local config files). Default false. +|spring.cloud.config.override-system-properties | `true` | Flag to indicate that the external properties should override system properties. Default true. +|spring.cloud.discovery.client.composite-indicator.enabled | `true` | Enables discovery client composite health indicator. +|spring.cloud.discovery.client.health-indicator.enabled | `true` | +|spring.cloud.discovery.client.health-indicator.include-description | `false` | +|spring.cloud.discovery.client.health-indicator.use-services-query | `true` | Whether or not the indicator should use {@link DiscoveryClient#getServices} to check its health. When set to {@code false} the indicator instead uses the lighter {@link DiscoveryClient#probe()}. This can be helpful in large deployments where the number of services returned makes the operation unnecessarily heavy. |spring.cloud.discovery.client.simple.instances | | -|spring.cloud.discovery.client.simple.local.instance-id | | The unique identifier or name for the service instance. -|spring.cloud.discovery.client.simple.local.metadata | | Metadata for the service instance. Can be used by discovery clients to modify their behaviour per instance, e.g. when load balancing. -|spring.cloud.discovery.client.simple.local.service-id | | The identifier or name for the service. Multiple instances might share the same service ID. -|spring.cloud.discovery.client.simple.local.uri | | The URI of the service instance. Will be parsed to extract the scheme, host, and port. |spring.cloud.discovery.client.simple.order | | -|spring.cloud.discovery.enabled | true | Enables discovery client health indicators. -|spring.cloud.features.enabled | true | Enables the features endpoint. -|spring.cloud.httpclientfactories.apache.enabled | true | Enables creation of Apache Http Client factory beans. -|spring.cloud.httpclientfactories.ok.enabled | true | Enables creation of OK Http Client factory beans. -|spring.cloud.hypermedia.refresh.fixed-delay | 5000 | -|spring.cloud.hypermedia.refresh.initial-delay | 10000 | -|spring.cloud.inetutils.default-hostname | localhost | The default hostname. Used in case of errors. -|spring.cloud.inetutils.default-ip-address | 127.0.0.1 | The default IP address. Used in case of errors. +|spring.cloud.discovery.enabled | `true` | Enables discovery client health indicators. +|spring.cloud.features.enabled | `true` | Enables the features endpoint. +|spring.cloud.httpclientfactories.apache.enabled | `true` | Enables creation of Apache Http Client factory beans. +|spring.cloud.httpclientfactories.ok.enabled | `true` | Enables creation of OK Http Client factory beans. +|spring.cloud.hypermedia.refresh.fixed-delay | `5000` | +|spring.cloud.hypermedia.refresh.initial-delay | `10000` | +|spring.cloud.inetutils.default-hostname | `localhost` | The default hostname. Used in case of errors. +|spring.cloud.inetutils.default-ip-address | `127.0.0.1` | The default IP address. Used in case of errors. |spring.cloud.inetutils.ignored-interfaces | | List of Java regular expressions for network interfaces that will be ignored. |spring.cloud.inetutils.preferred-networks | | List of Java regular expressions for network addresses that will be preferred. -|spring.cloud.inetutils.timeout-seconds | 1 | Timeout, in seconds, for calculating hostname. -|spring.cloud.inetutils.use-only-site-local-interfaces | false | Whether to use only interfaces with site local addresses. See {@link InetAddress#isSiteLocalAddress()} for more details. +|spring.cloud.inetutils.timeout-seconds | `1` | Timeout, in seconds, for calculating hostname. +|spring.cloud.inetutils.use-only-site-local-interfaces | `false` | Whether to use only interfaces with site local addresses. See {@link InetAddress#isSiteLocalAddress()} for more details. |spring.cloud.loadbalancer.cache.caffeine.spec | | The spec to use to create caches. See CaffeineSpec for more details on the spec format. -|spring.cloud.loadbalancer.cache.capacity | 256 | Initial cache capacity expressed as int. -|spring.cloud.loadbalancer.cache.enabled | true | Enables Spring Cloud LoadBalancer caching mechanism. -|spring.cloud.loadbalancer.cache.ttl | 35s | Time To Live - time counted from writing of the record, after which cache entries are expired, expressed as a {@link Duration}. The property {@link String} has to be in keeping with the appropriate syntax as specified in Spring Boot StringToDurationConverter. @see StringToDurationConverter.java -|spring.cloud.loadbalancer.health-check.initial-delay | 0 | Initial delay value for the HealthCheck scheduler. -|spring.cloud.loadbalancer.health-check.interval | 25s | Interval for rerunning the HealthCheck scheduler. +|spring.cloud.loadbalancer.cache.capacity | `256` | Initial cache capacity expressed as int. +|spring.cloud.loadbalancer.cache.enabled | `true` | Enables Spring Cloud LoadBalancer caching mechanism. +|spring.cloud.loadbalancer.cache.ttl | `35s` | Time To Live - time counted from writing of the record, after which cache entries are expired, expressed as a {@link Duration}. The property {@link String} has to be in keeping with the appropriate syntax as specified in Spring Boot StringToDurationConverter. @see StringToDurationConverter.java +|spring.cloud.loadbalancer.health-check.initial-delay | `0` | Initial delay value for the HealthCheck scheduler. +|spring.cloud.loadbalancer.health-check.interval | `25s` | Interval for rerunning the HealthCheck scheduler. |spring.cloud.loadbalancer.health-check.path | | -|spring.cloud.loadbalancer.health-check.refetch-instances | false | Indicates whether the instances should be refetched by the HealthCheckServiceInstanceListSupplier. This can be used if the instances can be updated and the underlying delegate does not provide an ongoing flux. -|spring.cloud.loadbalancer.health-check.refetch-instances-interval | 25s | Interval for refetching available service instances. -|spring.cloud.loadbalancer.health-check.repeat-health-check | true | Indicates whether health checks should keep repeating. It might be useful to set it to false if periodically refetching the instances, as every refetch will also trigger a healthcheck. -|spring.cloud.loadbalancer.retry.backoff.enabled | false | Indicates whether Reactor Retry backoffs should be applied. -|spring.cloud.loadbalancer.retry.backoff.jitter | 0.5 | Used to set {@link RetryBackoffSpec#jitter}. +|spring.cloud.loadbalancer.health-check.refetch-instances | `false` | Indicates whether the instances should be refetched by the HealthCheckServiceInstanceListSupplier. This can be used if the instances can be updated and the underlying delegate does not provide an ongoing flux. +|spring.cloud.loadbalancer.health-check.refetch-instances-interval | `25s` | Interval for refetching available service instances. +|spring.cloud.loadbalancer.health-check.repeat-health-check | `true` | Indicates whether health checks should keep repeating. It might be useful to set it to false if periodically refetching the instances, as every refetch will also trigger a healthcheck. +|spring.cloud.loadbalancer.retry.backoff.enabled | `false` | Indicates whether Reactor Retry backoffs should be applied. +|spring.cloud.loadbalancer.retry.backoff.jitter | `0.5` | Used to set {@link RetryBackoffSpec#jitter}. |spring.cloud.loadbalancer.retry.backoff.max-backoff | | Used to set {@link RetryBackoffSpec#maxBackoff}. -|spring.cloud.loadbalancer.retry.backoff.min-backoff | 5ms | Used to set {@link RetryBackoffSpec#minBackoff}. -|spring.cloud.loadbalancer.retry.enabled | true | -|spring.cloud.loadbalancer.retry.max-retries-on-next-service-instance | 1 | Number of retries to be executed on the next ServiceInstance. A ServiceInstance is chosen before each retry call. -|spring.cloud.loadbalancer.retry.max-retries-on-same-service-instance | 0 | Number of retries to be executed on the same ServiceInstance. -|spring.cloud.loadbalancer.retry.retry-on-all-operations | false | Indicates retries should be attempted on operations other than {@link HttpMethod#GET}. +|spring.cloud.loadbalancer.retry.backoff.min-backoff | `5ms` | Used to set {@link RetryBackoffSpec#minBackoff}. +|spring.cloud.loadbalancer.retry.enabled | `true` | +|spring.cloud.loadbalancer.retry.max-retries-on-next-service-instance | `1` | Number of retries to be executed on the next ServiceInstance. A ServiceInstance is chosen before each retry call. +|spring.cloud.loadbalancer.retry.max-retries-on-same-service-instance | `0` | Number of retries to be executed on the same ServiceInstance. +|spring.cloud.loadbalancer.retry.retry-on-all-operations | `false` | Indicates retries should be attempted on operations other than {@link HttpMethod#GET}. |spring.cloud.loadbalancer.retry.retryable-status-codes | | A {@link Set} of status codes that should trigger a retry. -|spring.cloud.loadbalancer.ribbon.enabled | true | Causes `RibbonLoadBalancerClient` to be used by default. +|spring.cloud.loadbalancer.ribbon.enabled | `true` | Causes `RibbonLoadBalancerClient` to be used by default. |spring.cloud.loadbalancer.service-discovery.timeout | | String representation of Duration of the timeout for calls to service discovery. |spring.cloud.loadbalancer.zone | | Spring Cloud LoadBalancer zone. -|spring.cloud.refresh.enabled | true | Enables autoconfiguration for the refresh scope and associated features. -|spring.cloud.refresh.extra-refreshable | true | Additional class names for beans to post process into refresh scope. -|spring.cloud.refresh.never-refreshable | true | Comma separated list of class names for beans to never be refreshed or rebound. -|spring.cloud.service-registry.auto-registration.enabled | true | Whether service auto-registration is enabled. Defaults to true. -|spring.cloud.service-registry.auto-registration.fail-fast | false | Whether startup fails if there is no AutoServiceRegistration. Defaults to false. -|spring.cloud.service-registry.auto-registration.register-management | true | Whether to register the management as a service. Defaults to true. -|spring.cloud.util.enabled | true | Enables creation of Spring Cloud utility beans. +|spring.cloud.refresh.enabled | `true` | Enables autoconfiguration for the refresh scope and associated features. +|spring.cloud.refresh.extra-refreshable | `true` | Additional class names for beans to post process into refresh scope. +|spring.cloud.refresh.never-refreshable | `true` | Comma separated list of class names for beans to never be refreshed or rebound. +|spring.cloud.service-registry.auto-registration.enabled | `true` | Whether service auto-registration is enabled. Defaults to true. +|spring.cloud.service-registry.auto-registration.fail-fast | `false` | Whether startup fails if there is no AutoServiceRegistration. Defaults to false. +|spring.cloud.service-registry.auto-registration.register-management | `true` | Whether to register the management as a service. Defaults to true. +|spring.cloud.util.enabled | `true` | Enables creation of Spring Cloud utility beans. |=== \ No newline at end of file diff --git a/docs/src/main/asciidoc/spring-cloud-commons.adoc b/docs/src/main/asciidoc/spring-cloud-commons.adoc index 43d337d4..57e9eb76 100644 --- a/docs/src/main/asciidoc/spring-cloud-commons.adoc +++ b/docs/src/main/asciidoc/spring-cloud-commons.adoc @@ -930,6 +930,8 @@ public class CustomLoadBalancerConfiguration { } ---- +NOTE: The classes you pass as `@LoadBalancerClient` or `@LoadBalancerClients` configuration arguments should either not be annotated with `@Configuration` or be outside component scan scope. + === Spring Cloud LoadBalancer integrations In order to make it easy to use Spring Cloud LoadBalancer, we provide `ReactorLoadBalancerExchangeFilterFunction` that can be used with `WebClient` and `BlockingLoadBalancerClient` that works with `RestTemplate`. @@ -1196,6 +1198,9 @@ public class MyConfiguration { } } ---- + +NOTE: The classes you pass as `@LoadBalancerClient` or `@LoadBalancerClients` configuration arguments should either not be annotated with `@Configuration` or be outside component scan scope. + ==== == Spring Cloud Circuit Breaker