Appendix A: Common application properties
Various properties can be specified inside your application.properties
file, inside your application.yml
file, or as command line switches.
This appendix provides a list of common Spring Cloud Commons properties and references to the underlying classes that consume them.
Property contributions can come from additional jar files on your classpath, so you should not consider this an exhaustive list. Also, you can define your own properties. |
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 |
|
Enables creation of Spring Cloud compatibility verification. |
spring.cloud.config.allow-override |
|
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.initialize-on-context-refresh |
|
Flag to initialize bootstrap configuration on context refresh event. Default false. |
spring.cloud.config.override-none |
|
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 |
|
Flag to indicate that the external properties should override system properties. Default true. |
spring.cloud.decrypt-environment-post-processor.enabled |
|
Enable the DecryptEnvironmentPostProcessor. |
spring.cloud.discovery.client.composite-indicator.enabled |
|
Enables discovery client composite health indicator. |
spring.cloud.discovery.client.health-indicator.enabled |
|
|
spring.cloud.discovery.client.health-indicator.include-description |
|
|
spring.cloud.discovery.client.health-indicator.use-services-query |
|
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.host |
||
spring.cloud.discovery.client.simple.local.instance-id |
||
spring.cloud.discovery.client.simple.local.metadata |
||
spring.cloud.discovery.client.simple.local.port |
|
|
spring.cloud.discovery.client.simple.local.secure |
|
|
spring.cloud.discovery.client.simple.local.service-id |
||
spring.cloud.discovery.client.simple.local.uri |
||
spring.cloud.discovery.client.simple.order |
||
spring.cloud.discovery.enabled |
|
Enables discovery client health indicators. |
spring.cloud.features.enabled |
|
Enables the features endpoint. |
spring.cloud.httpclientfactories.apache.enabled |
|
Enables creation of Apache Http Client factory beans. |
spring.cloud.httpclientfactories.ok.enabled |
|
Enables creation of OK Http Client factory beans. |
spring.cloud.hypermedia.refresh.fixed-delay |
|
|
spring.cloud.hypermedia.refresh.initial-delay |
|
|
spring.cloud.inetutils.default-hostname |
|
The default hostname. Used in case of errors. |
spring.cloud.inetutils.default-ip-address |
|
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 |
|
Timeout, in seconds, for calculating hostname. |
spring.cloud.inetutils.use-only-site-local-interfaces |
|
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 |
|
Initial cache capacity expressed as int. |
spring.cloud.loadbalancer.cache.enabled |
|
Enables Spring Cloud LoadBalancer caching mechanism. |
spring.cloud.loadbalancer.cache.ttl |
|
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 <code>StringToDurationConverter</code>. @see <a href= "https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/convert/StringToDurationConverter.java">StringToDurationConverter.java</a> |
spring.cloud.loadbalancer.call-get-with-request-on-delegates |
|
If this flag is set to {@code true}, {@code ServiceInstanceListSupplier#get(Request request)} method will be implemented to call {@code delegate.get(request)} in classes assignable from {@code DelegatingServiceInstanceListSupplier} that don’t already implement that method, with the exclusion of {@code CachingServiceInstanceListSupplier} and {@code HealthCheckServiceInstanceListSupplier}, which should be placed in the instance supplier hierarchy directly after the supplier performing instance retrieval over the network, before any request-based filtering is done. Note: in 4.1, this behaviour will become the default |
spring.cloud.loadbalancer.clients |
||
spring.cloud.loadbalancer.configurations |
|
Enables a predefined LoadBalancer configuration. |
spring.cloud.loadbalancer.eager-load.clients |
Names of the clients. |
|
spring.cloud.loadbalancer.enabled |
|
Enables Spring Cloud LoadBalancer. |
spring.cloud.loadbalancer.health-check.initial-delay |
|
Initial delay value for the HealthCheck scheduler. |
spring.cloud.loadbalancer.health-check.interval |
|
Interval for rerunning the HealthCheck scheduler. |
spring.cloud.loadbalancer.health-check.interval |
|
Interval for rerunning the HealthCheck scheduler. |
spring.cloud.loadbalancer.health-check.path |
Path at which the health-check request should be made. Can be set up per |
|
spring.cloud.loadbalancer.health-check.port |
Path at which the health-check request should be made. If none is set, the port under which the requested service is available at the service instance. |
|
spring.cloud.loadbalancer.health-check.refetch-instances |
|
Indicates whether the instances should be refetched by the |
spring.cloud.loadbalancer.health-check.refetch-instances-interval |
|
Interval for refetching available service instances. |
spring.cloud.loadbalancer.health-check.repeat-health-check |
|
Indicates whether health checks should keep repeating. It might be useful to set it to |
spring.cloud.loadbalancer.health-check.update-results-list |
|
Indicates whether the {@code healthCheckFlux} should emit on each alive {@link ServiceInstance} that has been retrieved. If set to {@code false}, the entire alive instances sequence is first collected into a list and only then emitted. |
spring.cloud.loadbalancer.hint |
Allows setting the value of <code>hint</code> that is passed on to the LoadBalancer request and can subsequently be used in {@link ReactiveLoadBalancer} implementations. |
|
spring.cloud.loadbalancer.hint-header-name |
|
Allows setting the name of the header used for passing the hint for hint-based service instance filtering. |
spring.cloud.loadbalancer.retry.avoid-previous-instance |
|
Enables wrapping ServiceInstanceListSupplier beans with |
spring.cloud.loadbalancer.retry.backoff.enabled |
|
Indicates whether Reactor Retry backoffs should be applied. |
spring.cloud.loadbalancer.retry.backoff.jitter |
|
Used to set |
spring.cloud.loadbalancer.retry.backoff.max-backoff |
|
Used to set |
spring.cloud.loadbalancer.retry.backoff.min-backoff |
|
Used to set |
spring.cloud.loadbalancer.retry.enabled |
|
Enables LoadBalancer retries. |
spring.cloud.loadbalancer.retry.max-retries-on-next-service-instance |
|
Number of retries to be executed on the next |
spring.cloud.loadbalancer.retry.max-retries-on-same-service-instance |
|
Number of retries to be executed on the same |
spring.cloud.loadbalancer.retry.retry-on-all-exceptions |
|
Indicates retries should be attempted for all exceptions, not only those specified in |
spring.cloud.loadbalancer.retry.retry-on-all-operations |
|
Indicates retries should be attempted on operations other than |
spring.cloud.loadbalancer.retry.retryable-exceptions |
|
A |
spring.cloud.loadbalancer.retry.retryable-status-codes |
|
A |
spring.cloud.loadbalancer.service-discovery.timeout |
String representation of Duration of the timeout for calls to service discovery. |
|
spring.cloud.loadbalancer.stats.micrometer.enabled |
|
Enables Spring Cloud LoadBalancer Micrometer stats. |
spring.cloud.loadbalancer.sticky-session.add-service-instance-cookie |
|
Indicates whether a cookie with the newly selected instance should be added by LoadBalancer. |
spring.cloud.loadbalancer.sticky-session.instance-id-cookie-name |
|
The name of the cookie holding the preferred instance id. |
spring.cloud.loadbalancer.x-forwarded.enabled |
|
To Enable X-Forwarded Headers. |
spring.cloud.loadbalancer.zone |
Spring Cloud LoadBalancer zone. |
|
spring.cloud.refresh.additional-property-sources-to-retain |
Additional property sources to retain during a refresh. Typically only system property sources are retained. This property allows property sources, such as property sources created by EnvironmentPostProcessors to be retained as well. |
|
spring.cloud.refresh.enabled |
|
Enables autoconfiguration for the refresh scope and associated features. |
spring.cloud.refresh.extra-refreshable |
|
Additional class names for beans to post process into refresh scope. |
spring.cloud.refresh.never-refreshable |
|
Comma separated list of class names for beans to never be refreshed or rebound. |
spring.cloud.service-registry.auto-registration.enabled |
|
Whether service auto-registration is enabled. Defaults to true. |
spring.cloud.service-registry.auto-registration.fail-fast |
|
Whether startup fails if there is no AutoServiceRegistration. Defaults to false. |
spring.cloud.service-registry.auto-registration.register-management |
|
Whether to register the management as a service. Defaults to true. |
spring.cloud.util.enabled |
|
Enables creation of Spring Cloud utility beans. |
1. Observability metadata
1.1. Observability - Metrics
Below you can find a list of all metrics declared by this project.
1.1.1. Circuit Breaker Function Observation
Observation created when we wrap a Function passed to the CircuitBreaker as fallback.
Metric name spring.cloud.circuitbreaker
(defined by convention class org.springframework.cloud.client.circuitbreaker.observation.DefaultCircuitBreakerObservationConvention
). Type timer
.
Metric name spring.cloud.circuitbreaker.active
(defined by convention class org.springframework.cloud.client.circuitbreaker.observation.DefaultCircuitBreakerObservationConvention
). Type long task timer
.
KeyValues that are added after starting the Observation might be missing from the *.active metrics. |
Micrometer internally uses nanoseconds for the baseunit. However, each backend determines the actual baseunit. (i.e. Prometheus uses seconds)
|
Fully qualified name of the enclosing class org.springframework.cloud.client.circuitbreaker.observation.CircuitBreakerObservationDocumentation
.
All tags must be prefixed with spring.cloud.circuitbreaker prefix!
|
Name |
Description |
|
Defines the type of wrapped lambda. |
1.1.2. Circuit Breaker Supplier Observation
Observation created when we wrap a Supplier passed to the CircuitBreaker.
Metric name spring.cloud.circuitbreaker
(defined by convention class org.springframework.cloud.client.circuitbreaker.observation.DefaultCircuitBreakerObservationConvention
). Type timer
.
Metric name spring.cloud.circuitbreaker.active
(defined by convention class org.springframework.cloud.client.circuitbreaker.observation.DefaultCircuitBreakerObservationConvention
). Type long task timer
.
KeyValues that are added after starting the Observation might be missing from the *.active metrics. |
Micrometer internally uses nanoseconds for the baseunit. However, each backend determines the actual baseunit. (i.e. Prometheus uses seconds)
|
Fully qualified name of the enclosing class org.springframework.cloud.client.circuitbreaker.observation.CircuitBreakerObservationDocumentation
.
All tags must be prefixed with spring.cloud.circuitbreaker prefix!
|
Name |
Description |
|
Defines the type of wrapped lambda. |
1.2. Observability - Spans
Below you can find a list of all spans declared by this project.
1.2.1. Circuit Breaker Function Observation Span
Observation created when we wrap a Function passed to the CircuitBreaker as fallback.
Span name spring.cloud.circuitbreaker
(defined by convention class org.springframework.cloud.client.circuitbreaker.observation.DefaultCircuitBreakerObservationConvention
).
Fully qualified name of the enclosing class org.springframework.cloud.client.circuitbreaker.observation.CircuitBreakerObservationDocumentation
.
All tags must be prefixed with spring.cloud.circuitbreaker prefix!
|
Name |
Description |
|
Defines the type of wrapped lambda. |
1.2.2. Circuit Breaker Supplier Observation Span
Observation created when we wrap a Supplier passed to the CircuitBreaker.
Span name spring.cloud.circuitbreaker
(defined by convention class org.springframework.cloud.client.circuitbreaker.observation.DefaultCircuitBreakerObservationConvention
).
Fully qualified name of the enclosing class org.springframework.cloud.client.circuitbreaker.observation.CircuitBreakerObservationDocumentation
.
All tags must be prefixed with spring.cloud.circuitbreaker prefix!
|
Name |
Description |
|
Defines the type of wrapped lambda. |