* Implement retry logic.
* Fix retrying on next instance when RetryExhausted in same instance.
* Fix retrying on next instance when RetryExhausted in same instance.
* Fix retrying on next instance when RetryExhausted in same instance.
* Move duplicated methods to utility class. Fix checkstyle.
* Fix test.
* Add more tests.
* Fix test.
* Add autoConfiguration.
* Refactor and add javadocs.
* Add javadocs.
* Use RetryAwareServiceInstanceListSupplier with reactive retries.
* Update properties.
* Fix the docs.
* Rename utility class.
* Verify interactions in order.
* 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.
* add common classes for TLS test
* Revert "add common classes for TLS test"
This reverts commit 7f5d076ad3.
* add common tls properties
* add unit tests for tls properties
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.
* Move Request and Response to loadbalancer package. Fixes gh-772.
* Fix checkstyle.
* Inherit and reference repackaged classes.
* Revert "Inherit and reference repackaged classes."
This reverts commit 02808c5f18.
* Fix Status enums.
* Make old classes extend the new ones.