Remove some deprecated API usage, switch to newer JDK api usages, refactor.

This commit is contained in:
Olga Maciaszek-Sharma
2022-11-08 13:57:03 +01:00
parent 6f39b7ed22
commit efe5131a36
106 changed files with 279 additions and 410 deletions

View File

@@ -82,7 +82,7 @@ public class LoadBalancerClientSpecification implements NamedContextFactory.Spec
@Override
public int hashCode() {
return Objects.hash(this.name, this.configuration);
return Objects.hash(this.name, Arrays.hashCode(this.configuration));
}
}

View File

@@ -37,7 +37,7 @@ public class CaffeineBasedLoadBalancerCacheManager extends CaffeineCacheManager
public CaffeineBasedLoadBalancerCacheManager(String cacheName, LoadBalancerCacheProperties properties) {
super(cacheName);
if (!StringUtils.isEmpty(properties.getCaffeine().getSpec())) {
if (StringUtils.hasText(properties.getCaffeine().getSpec())) {
setCacheSpecification(properties.getCaffeine().getSpec());
}
else {

View File

@@ -17,7 +17,6 @@
package org.springframework.cloud.loadbalancer.core;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.function.BiFunction;
@@ -77,8 +76,7 @@ public class HealthCheckServiceInstanceListSupplier extends DelegatingServiceIns
.onlyIf(repeatContext -> this.healthCheck.getRefetchInstances())
.fixedBackoff(healthCheck.getRefetchInstancesInterval());
Flux<List<ServiceInstance>> aliveInstancesFlux = Flux.defer(delegate).repeatWhen(aliveInstancesReplayRepeat)
.switchMap(serviceInstances -> healthCheckFlux(serviceInstances)
.map(alive -> Collections.unmodifiableList(new ArrayList<>(alive))));
.switchMap(serviceInstances -> healthCheckFlux(serviceInstances).map(alive -> List.copyOf(alive)));
aliveInstancesReplay = aliveInstancesFlux.delaySubscription(healthCheck.getInitialDelay()).replay(1)
.refCount(1);
}
@@ -94,8 +92,7 @@ public class HealthCheckServiceInstanceListSupplier extends DelegatingServiceIns
.onlyIf(repeatContext -> this.healthCheck.getRefetchInstances())
.fixedBackoff(healthCheck.getRefetchInstancesInterval());
Flux<List<ServiceInstance>> aliveInstancesFlux = Flux.defer(delegate).repeatWhen(aliveInstancesReplayRepeat)
.switchMap(serviceInstances -> healthCheckFlux(serviceInstances)
.map(alive -> Collections.unmodifiableList(new ArrayList<>(alive))));
.switchMap(serviceInstances -> healthCheckFlux(serviceInstances).map(alive -> List.copyOf(alive)));
aliveInstancesReplay = aliveInstancesFlux.delaySubscription(healthCheck.getInitialDelay()).replay(1)
.refCount(1);
}

View File

@@ -94,8 +94,8 @@ public class RequestBasedStickySessionServiceInstanceListSupplier extends Delega
for (ServiceInstance serviceInstance : serviceInstances) {
if (cookie.equals(serviceInstance.getInstanceId())) {
if (LOG.isDebugEnabled()) {
LOG.debug(String.format("Returning the service instance: %s. Found for cookie: %s",
serviceInstance.toString(), cookie));
LOG.debug(String.format("Returning the service instance: %s. Found for cookie: %s", serviceInstance,
cookie));
}
return Collections.singletonList(serviceInstance);
}

View File

@@ -49,10 +49,9 @@ public class RetryAwareServiceInstanceListSupplier extends DelegatingServiceInst
@Override
public Flux<List<ServiceInstance>> get(Request request) {
if (!(request.getContext() instanceof RetryableRequestContext)) {
if (!(request.getContext() instanceof RetryableRequestContext context)) {
return delegate.get(request);
}
RetryableRequestContext context = (RetryableRequestContext) request.getContext();
ServiceInstance previousServiceInstance = context.getPreviousServiceInstance();
if (previousServiceInstance == null) {
return delegate.get(request);

View File

@@ -48,9 +48,8 @@ class BlockingLoadBalancerClientAutoConfigurationTests {
@Test
public void worksWithoutSpringWeb() {
applicationContextRunner.withClassLoader(new FilteredClassLoader(RestTemplate.class)).run(context -> {
assertThat(context).doesNotHaveBean(BlockingLoadBalancerClient.class);
});
applicationContextRunner.withClassLoader(new FilteredClassLoader(RestTemplate.class))
.run(context -> assertThat(context).doesNotHaveBean(BlockingLoadBalancerClient.class));
}
}

View File

@@ -17,6 +17,7 @@
package org.springframework.cloud.loadbalancer.core;
import java.time.Duration;
import java.util.Collections;
import org.assertj.core.util.Lists;
import org.junit.jupiter.api.BeforeEach;
@@ -104,7 +105,7 @@ class DiscoveryClientServiceInstanceListSupplierTests {
StepVerifier.withVirtualTime(() -> {
supplier = new DiscoveryClientServiceInstanceListSupplier(reactiveDiscoveryClient, environment);
return supplier.get();
}).expectSubscription().expectNext(Lists.emptyList()).thenCancel().verify(VERIFICATION_TIMEOUT);
}).expectSubscription().expectNext(Collections.emptyList()).thenCancel().verify(VERIFICATION_TIMEOUT);
}
@Test
@@ -112,7 +113,7 @@ class DiscoveryClientServiceInstanceListSupplierTests {
environment.setProperty(SERVICE_DISCOVERY_TIMEOUT, "100ms");
when(reactiveDiscoveryClient.getInstances(SERVICE_ID)).thenReturn(Flux.never());
StepVerifier.create(new DiscoveryClientServiceInstanceListSupplier(reactiveDiscoveryClient, environment).get())
.expectSubscription().expectNext(Lists.emptyList()).thenCancel().verify(VERIFICATION_TIMEOUT);
.expectSubscription().expectNext(Collections.emptyList()).thenCancel().verify(VERIFICATION_TIMEOUT);
}
@Test
@@ -151,7 +152,7 @@ class DiscoveryClientServiceInstanceListSupplierTests {
StepVerifier.withVirtualTime(() -> {
supplier = new DiscoveryClientServiceInstanceListSupplier(discoveryClient, environment);
return supplier.get();
}).expectSubscription().expectNext(Lists.emptyList()).thenCancel().verify(VERIFICATION_TIMEOUT);
}).expectSubscription().expectNext(Collections.emptyList()).thenCancel().verify(VERIFICATION_TIMEOUT);
}
@Test
@@ -161,7 +162,7 @@ class DiscoveryClientServiceInstanceListSupplierTests {
when(discoveryClient.getInstances(SERVICE_ID)).thenAnswer(new AnswersWithDelay(200, new Returns(
Lists.list(instance("1host", false), instance("2host-secure", true), instance("3host", false)))));
StepVerifier.create(new DiscoveryClientServiceInstanceListSupplier(discoveryClient, environment).get())
.expectSubscription().expectNext(Lists.emptyList()).thenCancel().verify(VERIFICATION_TIMEOUT);
.expectSubscription().expectNext(Collections.emptyList()).thenCancel().verify(VERIFICATION_TIMEOUT);
}
}

View File

@@ -165,8 +165,7 @@ class LoadBalancerTests {
@SuppressWarnings("rawtypes")
@Override
public Mono<Response<ServiceInstance>> choose(Request request) {
if (request.getContext() instanceof DefaultRequestContext) {
DefaultRequestContext requestContext = (DefaultRequestContext) request.getContext();
if (request.getContext() instanceof DefaultRequestContext requestContext) {
return Mono.just(new DefaultResponse(instance(requestContext.getHint(), "host", false)));
}
return Mono.empty();

View File

@@ -74,7 +74,7 @@ public class OAuth2LoadBalancerClientAutoConfigurationTests {
@Test
@Ignore
public void userInfoLoadBalancedNoRetry() throws Exception {
public void userInfoLoadBalancedNoRetry() {
this.context = new SpringApplicationBuilder(ClientConfiguration.class).properties("spring.config.name=test",
"server.port=0", "security.oauth2.resource.userInfoUri:https://nosuchservice",
"spring.cloud.oauth2.load-balanced.enabled=true").run();