Spring Cloud OpenFeign 配置介绍

100 阅读4分钟

Configuration Properties

Below you can find a list of configuration properties.

NameDefaultDescription
spring.cloud.compatibility-verifier.compatible-boot-versionsDefault 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.enabledfalseEnables creation of Spring Cloud compatibility verification.
spring.cloud.config.allow-overridetrueFlag 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-refreshfalseFlag to initialize bootstrap configuration on context refresh event. Default false.
spring.cloud.config.override-nonefalseFlag 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. This will only have an effect when using config first bootstrap.
spring.cloud.config.override-system-propertiestrueFlag to indicate that the external properties should override system properties. Default true.
spring.cloud.decrypt-environment-post-processor.enabledtrueEnable the DecryptEnvironmentPostProcessor.
spring.cloud.discovery.client.composite-indicator.enabledtrueEnables discovery client composite health indicator.
spring.cloud.discovery.client.health-indicator.enabledtrue
spring.cloud.discovery.client.health-indicator.include-descriptionfalse
spring.cloud.discovery.client.health-indicator.use-services-querytrueWhether 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.port0
spring.cloud.discovery.client.simple.local.securefalse
spring.cloud.discovery.client.simple.local.service-id
spring.cloud.discovery.client.simple.local.uri
spring.cloud.discovery.client.simple.order
spring.cloud.discovery.enabledtrueEnables discovery client health indicators.
spring.cloud.features.enabledtrueEnables the features endpoint.
spring.cloud.httpclientfactories.apache.enabledtrueEnables creation of Apache Http Client factory beans.
spring.cloud.httpclientfactories.ok.enabledtrueEnables creation of OK Http Client factory beans.
spring.cloud.hypermedia.refresh.fixed-delay5000
spring.cloud.hypermedia.refresh.initial-delay10000
spring.cloud.inetutils.default-hostnamelocalhostThe default hostname. Used in case of errors.
spring.cloud.inetutils.default-ip-address127.0.0.1The default IP address. Used in case of errors.
spring.cloud.inetutils.ignored-interfacesList of Java regular expressions for network interfaces that will be ignored.
spring.cloud.inetutils.preferred-networksList of Java regular expressions for network addresses that will be preferred.
spring.cloud.inetutils.timeout-seconds1Timeout, in seconds, for calculating hostname.
spring.cloud.inetutils.use-only-site-local-interfacesfalseWhether to use only interfaces with site local addresses. See {@link InetAddress#isSiteLocalAddress()} for more details.
spring.cloud.loadbalancer.call-get-with-request-on-delegatestrueIf 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, {@code true} by default.
spring.cloud.loadbalancer.clients
spring.cloud.loadbalancer.eager-load.clients
spring.cloud.loadbalancer.health-check.initial-delay0Initial delay value for the HealthCheck scheduler.
spring.cloud.loadbalancer.health-check.interval25sInterval for rerunning the HealthCheck scheduler.
spring.cloud.loadbalancer.health-check.interval25sInterval for rerunning the HealthCheck scheduler.
spring.cloud.loadbalancer.health-check.pathPath at which the health-check request should be made. Can be set up per serviceId. A default value can be set up as well. If none is set up, /actuator/health will be used.
spring.cloud.loadbalancer.health-check.portPath 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-instancesfalseIndicates 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-interval25sInterval for refetching available service instances.
spring.cloud.loadbalancer.health-check.repeat-health-checktrueIndicates 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.health-check.update-results-listtrueIndicates 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.hintAllows setting the value of hint that is passed on to the LoadBalancer request and can subsequently be used in {@link ReactiveLoadBalancer} implementations.
spring.cloud.loadbalancer.hint-header-nameX-SC-LB-HintAllows setting the name of the header used for passing the hint for hint-based service instance filtering.
spring.cloud.loadbalancer.retry.backoff.enabledfalseIndicates whether Reactor Retry backoffs should be applied.
spring.cloud.loadbalancer.retry.backoff.jitter0.5Used to set RetryBackoffSpec.jitter.
spring.cloud.loadbalancer.retry.backoff.max-backoffLong.MAX msUsed to set RetryBackoffSpec.maxBackoff.
spring.cloud.loadbalancer.retry.backoff.min-backoff5 msUsed to set RetryBackoffSpec#minBackoff.
spring.cloud.loadbalancer.retry.enabledtrueEnables LoadBalancer retries.
spring.cloud.loadbalancer.retry.max-retries-on-next-service-instance1Number 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-instance0Number of retries to be executed on the same ServiceInstance.
spring.cloud.loadbalancer.retry.retry-on-all-exceptionsfalseIndicates retries should be attempted for all exceptions, not only those specified in retryableExceptions.
spring.cloud.loadbalancer.retry.retry-on-all-operationsfalseIndicates retries should be attempted on operations other than HttpMethod.GET.
spring.cloud.loadbalancer.retry.retryable-exceptions{}Set of Throwable classes that should trigger a retry.
spring.cloud.loadbalancer.retry.retryable-status-codes{}Set of status codes that should trigger a retry.
spring.cloud.loadbalancer.stats.micrometer.enabledfalseEnables micrometer metrics for load-balanced requests.
spring.cloud.loadbalancer.sticky-session.add-service-instance-cookiefalseIndicates whether a cookie with the newly selected instance should be added by LoadBalancer.
spring.cloud.loadbalancer.sticky-session.instance-id-cookie-namesc-lb-instance-idThe name of the cookie holding the preferred instance id.
spring.cloud.loadbalancer.subset.instance-idInstance id of deterministic subsetting. If not set, {@link IdUtils#getDefaultInstanceId(PropertyResolver)} will be used.
spring.cloud.loadbalancer.subset.size100Max subset size of deterministic subsetting.
spring.cloud.loadbalancer.x-forwarded.enabledfalseTo Enable X-Forwarded Headers.
spring.cloud.openfeign.autoconfiguration.jackson.enabledtrueIf true, PageJacksonModule and SortJacksonModule bean will be provided for Jackson page decoding.
spring.cloud.openfeign.circuitbreaker.alphanumeric-ids.enabledfalseIf true, Circuit Breaker ids will only contain alphanumeric characters to allow for configuration via configuration properties.
spring.cloud.openfeign.circuitbreaker.enabledfalseIf true, an OpenFeign client will be wrapped with a Spring Cloud CircuitBreaker circuit breaker.
spring.cloud.openfeign.circuitbreaker.group.enabledfalseIf true, an OpenFeign client will be wrapped with a Spring Cloud CircuitBreaker circuit breaker with group.
spring.cloud.openfeign.client.config
spring.cloud.openfeign.client.decode-slashtrueFeign clients do not encode slash / characters by default. To change this behavior, set the decodeSlash to false.
spring.cloud.openfeign.client.default-configdefault
spring.cloud.openfeign.client.default-to-propertiestrue
spring.cloud.openfeign.client.refresh-enabledfalseEnables options value refresh capability for Feign.
spring.cloud.openfeign.compression.request.enabledfalseEnables the request sent by Feign to be compressed.
spring.cloud.openfeign.compression.request.mime-types[text/xml, application/xml, application/json]The list of supported mime types.
spring.cloud.openfeign.compression.request.min-request-size2048The minimum threshold content size.
spring.cloud.openfeign.compression.response.enabledfalseEnables the response from Feign to be compressed.
spring.cloud.openfeign.encoder.charset-from-content-typefalseIndicates whether the charset should be derived from the {@code Content-Type} header.
spring.cloud.openfeign.http2client.enabledfalseEnables the use of the Java11 HTTP 2 Client by Feign.
spring.cloud.openfeign.httpclient.connection-timeout2000
spring.cloud.openfeign.httpclient.connection-timer-repeat3000
spring.cloud.openfeign.httpclient.disable-ssl-validationfalse
spring.cloud.openfeign.httpclient.follow-redirectstrue
spring.cloud.openfeign.httpclient.hc5.connection-request-timeout3Default value for connection request timeout.
spring.cloud.openfeign.httpclient.hc5.connection-request-timeout-unitDefault value for connection request timeout unit.
spring.cloud.openfeign.httpclient.hc5.enabledtrueEnables the use of the Apache HTTP Client 5 by Feign.
spring.cloud.openfeign.httpclient.hc5.pool-concurrency-policyPool concurrency policies.
spring.cloud.openfeign.httpclient.hc5.pool-reuse-policyPool connection re-use policies.
spring.cloud.openfeign.httpclient.hc5.socket-timeout5Default value for socket timeout.
spring.cloud.openfeign.httpclient.hc5.socket-timeout-unitDefault value for socket timeout unit.
spring.cloud.openfeign.httpclient.http2.versionHTTP_2Configure the protocols used by this client to communicate with remote servers. Uses {@link String} value of {@link HttpClient.Version}.
spring.cloud.openfeign.httpclient.max-connections200
spring.cloud.openfeign.httpclient.max-connections-per-route50
spring.cloud.openfeign.httpclient.ok-http.protocolsConfigure the protocols used by this client to communicate with remote servers. Uses {@link String} values of {@link Protocol}.
spring.cloud.openfeign.httpclient.ok-http.read-timeout60s{@link OkHttpClient} read timeout; defaults to 60 seconds.
spring.cloud.openfeign.httpclient.time-to-live900
spring.cloud.openfeign.httpclient.time-to-live-unit
spring.cloud.openfeign.lazy-attributes-resolutionfalseSwitches @FeignClient attributes resolution mode to lazy.
spring.cloud.openfeign.micrometer.enabledtrueEnables Micrometer capabilities for Feign.
spring.cloud.openfeign.oauth2.clientRegistrationIdProvides a clientId to be used with OAuth2.
spring.cloud.openfeign.oauth2.enabledfalseEnables feign interceptor for managing oauth2 access token.
spring.cloud.openfeign.okhttp.enabledfalseEnables the use of the OK HTTP Client by Feign.
spring.cloud.refresh.additional-property-sources-to-retainAdditional 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.enabledtrueEnables autoconfiguration for the refresh scope and associated features.
spring.cloud.refresh.extra-refreshabletrueAdditional class names for beans to post process into refresh scope.
spring.cloud.refresh.never-refreshabletrueComma separated list of class names for beans to never be refreshed or rebound.
spring.cloud.refresh.on-restart.enabledtrueEnable refreshing context on start.
spring.cloud.service-registry.auto-registration.enabledtrueWhether service auto-registration is enabled. Defaults to true.
spring.cloud.service-registry.auto-registration.fail-fastfalseWhether startup fails if there is no AutoServiceRegistration. Defaults to false.
spring.cloud.service-registry.auto-registration.register-managementtrueWhether to register the management as a service. Defaults to true.
spring.cloud.util.enabledtrueEnables creation of Spring Cloud utility beans.