From 653474fc4628caeee10270c0f2b1baa323e6cb10 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Thu, 11 Jan 2024 21:40:18 -0800 Subject: [PATCH] Polish --- ...crometerTracingAutoConfigurationTests.java | 2 +- ...JmsListenerContainerFactoryConfigurer.java | 8 ++-- .../pulsar/PulsarPropertiesMapper.java | 44 +++++++++++-------- .../autoconfigure/web/ServerProperties.java | 2 +- 4 files changed, 31 insertions(+), 25 deletions(-) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/MicrometerTracingAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/MicrometerTracingAutoConfigurationTests.java index 727b91174df..324683ee78a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/MicrometerTracingAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/MicrometerTracingAutoConfigurationTests.java @@ -233,7 +233,7 @@ class MicrometerTracingAutoConfigurationTests { @Bean SpanTagAnnotationHandler spanTagAnnotationHandler() { - return new SpanTagAnnotationHandler((aClass) -> null, (aClass) -> null); + return new SpanTagAnnotationHandler((valueResolverClass) -> null, (valueExpressionResolverClass) -> null); } } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/DefaultJmsListenerContainerFactoryConfigurer.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/DefaultJmsListenerContainerFactoryConfigurer.java index 100761cf3c7..43fbf4dc7a4 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/DefaultJmsListenerContainerFactoryConfigurer.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/DefaultJmsListenerContainerFactoryConfigurer.java @@ -115,13 +115,13 @@ public final class DefaultJmsListenerContainerFactoryConfigurer { public void configure(DefaultJmsListenerContainerFactory factory, ConnectionFactory connectionFactory) { Assert.notNull(factory, "Factory must not be null"); Assert.notNull(connectionFactory, "ConnectionFactory must not be null"); - factory.setConnectionFactory(connectionFactory); - factory.setPubSubDomain(this.jmsProperties.isPubSubDomain()); - factory.setSubscriptionDurable(this.jmsProperties.isSubscriptionDurable()); - factory.setClientId(this.jmsProperties.getClientId()); JmsProperties.Listener listenerProperties = this.jmsProperties.getListener(); Session sessionProperties = listenerProperties.getSession(); + factory.setConnectionFactory(connectionFactory); PropertyMapper map = PropertyMapper.get().alwaysApplyingWhenNonNull(); + map.from(this.jmsProperties::isPubSubDomain).to(factory::setPubSubDomain); + map.from(this.jmsProperties::isSubscriptionDurable).to(factory::setSubscriptionDurable); + map.from(this.jmsProperties::getClientId).to(factory::setClientId); map.from(this.transactionManager).to(factory::setTransactionManager); map.from(this.destinationResolver).to(factory::setDestinationResolver); map.from(this.messageConverter).to(factory::setMessageConverter); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/pulsar/PulsarPropertiesMapper.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/pulsar/PulsarPropertiesMapper.java index 31755501b5a..ade74e51b1b 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/pulsar/PulsarPropertiesMapper.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/pulsar/PulsarPropertiesMapper.java @@ -64,7 +64,7 @@ final class PulsarPropertiesMapper { map.from(properties::getConnectionTimeout).to(timeoutProperty(clientBuilder::connectionTimeout)); map.from(properties::getOperationTimeout).to(timeoutProperty(clientBuilder::operationTimeout)); map.from(properties::getLookupTimeout).to(timeoutProperty(clientBuilder::lookupTimeout)); - customizeAuthentication(clientBuilder::authentication, properties.getAuthentication()); + customizeAuthentication(properties.getAuthentication(), clientBuilder::authentication); customizeServiceUrlProviderBuilder(clientBuilder::serviceUrl, clientBuilder::serviceUrlProvider, properties, connectionDetails); } @@ -77,21 +77,11 @@ final class PulsarPropertiesMapper { serviceUrlConsumer.accept(connectionDetails.getBrokerUrl()); return; } - Map secondaryAuths = new LinkedHashMap<>(); - failoverProperties.getBackupClusters().forEach((cluster) -> { - PulsarProperties.Authentication authentication = cluster.getAuthentication(); - if (authentication.getPluginClassName() == null) { - secondaryAuths.put(cluster.getServiceUrl(), null); - } - else { - customizeAuthentication((authPluginClassName, authParams) -> secondaryAuths.put(cluster.getServiceUrl(), - AuthenticationFactory.create(authPluginClassName, authParams)), authentication); - } - }); + Map secondaryAuths = getSecondaryAuths(failoverProperties); AutoClusterFailoverBuilder autoClusterFailoverBuilder = new AutoClusterFailoverBuilderImpl(); PropertyMapper map = PropertyMapper.get().alwaysApplyingWhenNonNull(); map.from(connectionDetails::getBrokerUrl).to(autoClusterFailoverBuilder::primary); - map.from(new ArrayList<>(secondaryAuths.keySet())).to(autoClusterFailoverBuilder::secondary); + map.from(secondaryAuths::keySet).as(ArrayList::new).to(autoClusterFailoverBuilder::secondary); map.from(failoverProperties::getFailoverPolicy).to(autoClusterFailoverBuilder::failoverPolicy); map.from(failoverProperties::getFailOverDelay).to(timeoutProperty(autoClusterFailoverBuilder::failoverDelay)); map.from(failoverProperties::getSwitchBackDelay) @@ -101,6 +91,23 @@ final class PulsarPropertiesMapper { serviceUrlProviderConsumer.accept(autoClusterFailoverBuilder.build()); } + private Map getSecondaryAuths(PulsarProperties.Failover properties) { + Map secondaryAuths = new LinkedHashMap<>(); + properties.getBackupClusters().forEach((backupCluster) -> { + PulsarProperties.Authentication authenticationProperties = backupCluster.getAuthentication(); + if (authenticationProperties.getPluginClassName() == null) { + secondaryAuths.put(backupCluster.getServiceUrl(), null); + } + else { + customizeAuthentication(authenticationProperties, (authPluginClassName, authParams) -> { + Authentication authentication = AuthenticationFactory.create(authPluginClassName, authParams); + secondaryAuths.put(backupCluster.getServiceUrl(), authentication); + }); + } + }); + return secondaryAuths; + } + void customizeAdminBuilder(PulsarAdminBuilder adminBuilder, PulsarConnectionDetails connectionDetails) { PulsarProperties.Admin properties = this.properties.getAdmin(); PropertyMapper map = PropertyMapper.get().alwaysApplyingWhenNonNull(); @@ -108,15 +115,14 @@ final class PulsarPropertiesMapper { map.from(properties::getConnectionTimeout).to(timeoutProperty(adminBuilder::connectionTimeout)); map.from(properties::getReadTimeout).to(timeoutProperty(adminBuilder::readTimeout)); map.from(properties::getRequestTimeout).to(timeoutProperty(adminBuilder::requestTimeout)); - customizeAuthentication(adminBuilder::authentication, properties.getAuthentication()); + customizeAuthentication(properties.getAuthentication(), adminBuilder::authentication); } - private void customizeAuthentication(AuthenticationConsumer authentication, - PulsarProperties.Authentication properties) { - if (StringUtils.hasText(properties.getPluginClassName())) { + private void customizeAuthentication(PulsarProperties.Authentication properties, AuthenticationConsumer action) { + String pluginClassName = properties.getPluginClassName(); + if (StringUtils.hasText(pluginClassName)) { try { - authentication.accept(properties.getPluginClassName(), - getAuthenticationParamsJson(properties.getParam())); + action.accept(pluginClassName, getAuthenticationParamsJson(properties.getParam())); } catch (UnsupportedAuthenticationException ex) { throw new IllegalStateException("Unable to configure Pulsar authentication", ex); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java index 3e6d21c95c3..d0be8c72f65 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java @@ -332,7 +332,7 @@ public class ServerProperties { /** * The maximum number of sessions that can be stored. */ - private int maxSessions = 10_000; + private int maxSessions = 10000; @NestedConfigurationProperty private final Cookie cookie = new Cookie();