From 361a8c2baefd3f580cd11feb38337e8ea49e476a Mon Sep 17 00:00:00 2001 From: johnny850807 Date: Mon, 14 Dec 2020 20:48:25 +0800 Subject: [PATCH] Add getSupportedLifecycleProcessors method in BlockingLoadBalancerClient # Conflicts: # spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/blocking/client/BlockingLoadBalancerClient.java --- .../client/BlockingLoadBalancerClient.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/blocking/client/BlockingLoadBalancerClient.java b/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/blocking/client/BlockingLoadBalancerClient.java index 2119b402..e689588b 100644 --- a/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/blocking/client/BlockingLoadBalancerClient.java +++ b/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/blocking/client/BlockingLoadBalancerClient.java @@ -70,10 +70,7 @@ public class BlockingLoadBalancerClient implements LoadBalancerClient { String hint = getHint(serviceId); LoadBalancerRequestAdapter lbRequest = new LoadBalancerRequestAdapter<>(request, new DefaultRequestContext(request, hint)); - Set supportedLifecycleProcessors = LoadBalancerLifecycleValidator - .getSupportedLifecycleProcessors( - loadBalancerClientFactory.getInstances(serviceId, LoadBalancerLifecycle.class), - DefaultRequestContext.class, Object.class, ServiceInstance.class); + Set supportedLifecycleProcessors = getSupportedLifecycleProcessors(serviceId); supportedLifecycleProcessors.forEach(lifecycle -> lifecycle.onStart(lbRequest)); ServiceInstance serviceInstance = choose(serviceId, lbRequest); if (serviceInstance == null) { @@ -88,10 +85,7 @@ public class BlockingLoadBalancerClient implements LoadBalancerClient { public T execute(String serviceId, ServiceInstance serviceInstance, LoadBalancerRequest request) throws IOException { DefaultResponse defaultResponse = new DefaultResponse(serviceInstance); - Set supportedLifecycleProcessors = LoadBalancerLifecycleValidator - .getSupportedLifecycleProcessors( - loadBalancerClientFactory.getInstances(serviceId, LoadBalancerLifecycle.class), - DefaultRequestContext.class, Object.class, ServiceInstance.class); + Set supportedLifecycleProcessors = getSupportedLifecycleProcessors(serviceId); Request lbRequest = request instanceof Request ? (Request) request : new DefaultRequest<>(); supportedLifecycleProcessors .forEach(lifecycle -> lifecycle.onStartRequest(lbRequest, new DefaultResponse(serviceInstance))); @@ -131,6 +125,12 @@ public class BlockingLoadBalancerClient implements LoadBalancerClient { return response; } + private Set getSupportedLifecycleProcessors(String serviceId) { + return LoadBalancerLifecycleValidator.getSupportedLifecycleProcessors( + loadBalancerClientFactory.getInstances(serviceId, LoadBalancerLifecycle.class), + DefaultRequestContext.class, Object.class, ServiceInstance.class); + } + @Override public URI reconstructURI(ServiceInstance serviceInstance, URI original) { return LoadBalancerUriTools.reconstructURI(serviceInstance, original);