* cherry-pick switching to properties
* Pass information on previous ServiceInstance to RequestContext.
# Conflicts:
# spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/blocking/retry/BlockingLoadBalancedRetryPolicy.java
* Add a RoundRobinLoadBalancer implementation that avoids same service instance while retrying.
* Wrap instances in ArrayList. Add tests.
* Enable AvoidPreviousInstanceRoundRobinLoadBalancer by default if SpringRetry on classpath.
* Fix failing tests. Add javadocs and author tags.
* Fix properties.
* Add documentation.
* Fix docs after review.
* Fix docs after review.
* Handle avoiding previous instance with ServiceInstanceListSupplier in place of LoadBalancer.
* Fix property name.
* Change spelling.
Bootstrap is now opt-in using `spring.config.use-legacy-processing`. Otherwise, bootstrap is left as is.
If bootstrap is disabled, the `ContextRefresher` uses new `ConfigData` framework from boot.
See #608 for original motivation.
* Add LoadBalancerLifecycle. Trigger lifecycle callbacks. Set hints from properties.
* Trigger LB lifecycle callbacks from BlockingLoadBalancerClient and RetryLoadBalancerInterceptor.
* Register LifecycleProcessors with @LoadBalancerClients
* Register LifecycleProcessors with @LoadBalancerClients configuration.
* Handle null lifecycle beans map returned from factory. Adjust tests to code changes.
* Handle null lifecycle beans map returned from factory in RetryLoadBalancerInterceptor. Ensure ReactiveLoadBalancer.Factory bean is present while instantiating RetryLoadBalancerInterceptor. Add more tests.
* Remove generics from supports(...) method signature.
* Allow setting hint per service via properties.
* Add some toString() methods. Add more info on deprecated callbacks in javadocs and comments.
* Add javadocs.
* Format javadocs. Add docs.
* Update hint docs.
* Fix docs.
* Fix docs.
* Extract filtering supported lifecycle processors to a separate class; Execute onComplete() calls for DISCARD status in RetryLoadBalancerInterceptor. Remove duplicated `onComplete` calls for FAILED and SUCCESS status in RetryLoadBalancerInterceptor. Add test for no duplicated lifecycle calls in RetryLoadBalancerInterceptorTest.
* Small refactoring: remove deprecated methods use, add final keywords, remove unnecessary keywords.
* Add javadoc.
* Fix execution thread for blocking DiscoveryClientServiceInstanceListSupplier.
* Desynchronise HealthCheck and Cache. Add info about using HealthCheck without Cache to docs.
See gh-760
* Cache first element of service instance list flux.
* Invoke destroy() and afterPropertiesSet() in non-bean ServiceInstanceListSupplier delegates.
* Fix return updated instances.
* Fix return updated instances.
(cherry picked from commit 88b2f0e869)
* Cache first element of service instance list flux.
* Invoke destroy() and afterPropertiesSet() in non-bean ServiceInstanceListSupplier delegates.
* Fix return updated instances.
* Fix return updated instances.
Puts static builder() method on ServiceInstanceListSupplier.
Deprecates ServiceInstanceListSupplier.fixed(Environment) and replaces with fixed(serviceId).
Puts static builder() method on ServiceInstanceListSupplier.
Deprecates ServiceInstanceListSupplier.fixed(Environment) and replaces with fixed(serviceId).