diff --git a/pom.xml b/pom.xml index cbd6545..9d606d8 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.free-now.multirabbit spring-multirabbit-parent - 2.7.1-SNAPSHOT + 2.7.2-SNAPSHOT pom Spring MultiRabbit @@ -41,13 +41,21 @@ + + + + + + + + - ossrh - https://s01.oss.sonatype.org/content/repositories/snapshots + maxwell-snapshots + https://mvn.51tagger.com/nexus/repository/maxwell-snapshots/ - ossrh - https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ + maxwell-releases + https://mvn.51tagger.com/nexus/repository/maxwell-releases/ @@ -99,26 +107,26 @@ maven-surefire-plugin ${maven-surefire-plugin.version} - - org.apache.maven.plugins - maven-gpg-plugin - ${maven-gpg-plugin.version} - - - --pinentry-mode - loopback - - - - - sign-artifacts - verify - - sign - - - - + + + + + + + + + + + + + + + + + + + + org.apache.maven.plugins maven-source-plugin diff --git a/spring-multirabbit/src/main/java/org/springframework/boot/autoconfigure/amqp/MultiRabbitAutoConfiguration.java b/spring-multirabbit/src/main/java/org/springframework/boot/autoconfigure/amqp/MultiRabbitAutoConfiguration.java index 347d4ec..d067b3f 100644 --- a/spring-multirabbit/src/main/java/org/springframework/boot/autoconfigure/amqp/MultiRabbitAutoConfiguration.java +++ b/spring-multirabbit/src/main/java/org/springframework/boot/autoconfigure/amqp/MultiRabbitAutoConfiguration.java @@ -4,8 +4,10 @@ import com.rabbitmq.client.impl.CredentialsProvider; import com.rabbitmq.client.impl.CredentialsRefreshService; +import java.time.Duration; import java.util.Collections; import java.util.Map; +import java.util.Objects; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -201,7 +203,16 @@ private MultiRabbitConnectionFactoryWrapper instantiateConnectionFactories( = springFactoryCreator.rabbitConnectionFactory(rabbitConnectionFactoryBeanConfigurer, rabbitCachingConnectionFactoryConfigurer, connectionFactoryCustomizer); + Duration connectionTimeout = entry.getValue().getConnectionTimeout(); + if (Objects.nonNull(connectionTimeout)) { + connectionFactory.getRabbitConnectionFactory().setHandshakeTimeout((int)connectionTimeout.toMillis()); + } final SimpleRabbitListenerContainerFactory containerFactory = newContainerFactory(connectionFactory); + SimpleRabbitListenerContainerFactoryConfigurer configurer = + new SimpleRabbitListenerContainerFactoryConfigurer(entry.getValue()); + configurer.configure(containerFactory, connectionFactory); + containerFactory.setBatchListener(entry.getValue().getListener().getSimple().isConsumerBatchEnabled()); + final RabbitAdmin rabbitAdmin = newRabbitAdmin(connectionFactory); wrapper.addConnectionFactory(entry.getKey(), connectionFactory, containerFactory, rabbitAdmin); }