From a597c1574d9b3777160cd11ea3d34eda7c10d87d Mon Sep 17 00:00:00 2001 From: Tran Ngoc Nhan Date: Mon, 30 Sep 2024 20:41:46 +0700 Subject: [PATCH] Modernize more code for diamond, isEmpty & pattern matching --- .../amqp/core/BindingBuilder.java | 2 +- .../listener/StreamListenerContainer.java | 7 ++-- .../DefaultStreamMessageConverter.java | 3 +- ...itListenerAnnotationBeanPostProcessor.java | 6 ++-- .../rabbit/batch/SimpleBatchingStrategy.java | 6 ++-- .../rabbit/config/HeadersExchangeParser.java | 5 +-- .../config/ListenerContainerFactoryBean.java | 3 +- .../config/ListenerContainerParser.java | 9 +++--- .../amqp/rabbit/config/QueueParser.java | 5 +-- .../rabbit/config/RabbitNamespaceUtils.java | 32 ++++++++----------- .../amqp/rabbit/config/TemplateParser.java | 3 +- .../PublisherCallbackChannelImpl.java | 4 +-- .../connection/SimpleResourceHolder.java | 2 +- .../ThreadChannelConnectionFactory.java | 5 +-- .../rabbit/core/BatchingRabbitTemplate.java | 4 +-- .../AbstractRabbitListenerEndpoint.java | 3 +- .../adapter/MessageListenerAdapter.java | 7 ++-- .../retry/RepublishMessageRecoverer.java | 4 +-- 18 files changed, 56 insertions(+), 54 deletions(-) diff --git a/spring-amqp/src/main/java/org/springframework/amqp/core/BindingBuilder.java b/spring-amqp/src/main/java/org/springframework/amqp/core/BindingBuilder.java index 956d83d8..5eceadd9 100644 --- a/spring-amqp/src/main/java/org/springframework/amqp/core/BindingBuilder.java +++ b/spring-amqp/src/main/java/org/springframework/amqp/core/BindingBuilder.java @@ -82,7 +82,7 @@ public final class BindingBuilder { } public Binding to(FanoutExchange exchange) { - return new Binding(this.queue, this.name, this.type, exchange.getName(), "", new HashMap()); + return new Binding(this.queue, this.name, this.type, exchange.getName(), "", new HashMap<>()); } public HeadersExchangeMapConfigurer to(HeadersExchange exchange) { diff --git a/spring-rabbit-stream/src/main/java/org/springframework/rabbit/stream/listener/StreamListenerContainer.java b/spring-rabbit-stream/src/main/java/org/springframework/rabbit/stream/listener/StreamListenerContainer.java index 925565cb..842ca8f0 100644 --- a/spring-rabbit-stream/src/main/java/org/springframework/rabbit/stream/listener/StreamListenerContainer.java +++ b/spring-rabbit-stream/src/main/java/org/springframework/rabbit/stream/listener/StreamListenerContainer.java @@ -1,5 +1,5 @@ /* - * Copyright 2021-2023 the original author or authors. + * Copyright 2021-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -56,6 +56,7 @@ import io.micrometer.observation.ObservationRegistry; * * @author Gary Russell * @author Christian Tzolov + * @author Ngoc Nhan * @since 2.4 * */ @@ -251,7 +252,7 @@ public class StreamListenerContainer extends ObservableListenerContainer { public boolean isRunning() { this.lock.lock(); try { - return this.consumers.size() > 0; + return !this.consumers.isEmpty(); } finally { this.lock.unlock(); @@ -262,7 +263,7 @@ public class StreamListenerContainer extends ObservableListenerContainer { public void start() { this.lock.lock(); try { - if (this.consumers.size() == 0) { + if (this.consumers.isEmpty()) { this.consumerCustomizer.accept(getListenerId(), this.builder); if (this.simpleStream) { this.consumers.add(this.builder.build()); diff --git a/spring-rabbit-stream/src/main/java/org/springframework/rabbit/stream/support/converter/DefaultStreamMessageConverter.java b/spring-rabbit-stream/src/main/java/org/springframework/rabbit/stream/support/converter/DefaultStreamMessageConverter.java index dd2d765f..614f4a6e 100644 --- a/spring-rabbit-stream/src/main/java/org/springframework/rabbit/stream/support/converter/DefaultStreamMessageConverter.java +++ b/spring-rabbit-stream/src/main/java/org/springframework/rabbit/stream/support/converter/DefaultStreamMessageConverter.java @@ -41,6 +41,7 @@ import com.rabbitmq.stream.codec.WrapperMessageBuilder; * Default {@link StreamMessageConverter}. * * @author Gary Russell + * @author Ngoc Nhan * @since 2.4 * */ @@ -105,7 +106,7 @@ public class DefaultStreamMessageConverter implements StreamMessageConverter { .acceptIfNotNull(mProps.getGroupSequence(), propsBuilder::groupSequence) .acceptIfNotNull(mProps.getReplyToGroupId(), propsBuilder::replyToGroupId); ApplicationPropertiesBuilder appPropsBuilder = builder.applicationProperties(); - if (mProps.getHeaders().size() > 0) { + if (!mProps.getHeaders().isEmpty()) { mProps.getHeaders().forEach((key, val) -> { mapProp(key, val, appPropsBuilder); }); diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/annotation/RabbitListenerAnnotationBeanPostProcessor.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/annotation/RabbitListenerAnnotationBeanPostProcessor.java index 40f01b38..2c1ce244 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/annotation/RabbitListenerAnnotationBeanPostProcessor.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/annotation/RabbitListenerAnnotationBeanPostProcessor.java @@ -317,12 +317,12 @@ public class RabbitListenerAnnotationBeanPostProcessor private TypeMetadata buildMetadata(Class targetClass) { List classLevelListeners = findListenerAnnotations(targetClass); - final boolean hasClassLevelListeners = classLevelListeners.size() > 0; + final boolean hasClassLevelListeners = !classLevelListeners.isEmpty(); final List methods = new ArrayList<>(); final List multiMethods = new ArrayList<>(); ReflectionUtils.doWithMethods(targetClass, method -> { List listenerAnnotations = findListenerAnnotations(method); - if (listenerAnnotations.size() > 0) { + if (!listenerAnnotations.isEmpty()) { methods.add(new ListenerMethod(method, listenerAnnotations.toArray(new RabbitListener[listenerAnnotations.size()]))); } @@ -880,7 +880,7 @@ public class RabbitListenerAnnotationBeanPostProcessor } } } - return map.size() < 1 ? null : map; + return map.isEmpty() ? null : map; } private void addToMap(Map map, String key, Object value, Class typeClass, String typeName) { diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/batch/SimpleBatchingStrategy.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/batch/SimpleBatchingStrategy.java index 8958cac0..a7f80b3d 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/batch/SimpleBatchingStrategy.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/batch/SimpleBatchingStrategy.java @@ -88,7 +88,7 @@ public class SimpleBatchingStrategy implements BatchingStrategy { } int bufferUse = Integer.BYTES + message.getBody().length; MessageBatch batch = null; - if (this.messages.size() > 0 && this.currentSize + bufferUse > this.bufferLimit) { + if (!this.messages.isEmpty() && this.currentSize + bufferUse > this.bufferLimit) { batch = doReleaseBatch(); this.exchange = exch; this.routingKey = routKey; @@ -104,7 +104,7 @@ public class SimpleBatchingStrategy implements BatchingStrategy { @Override public Date nextRelease() { - if (this.messages.size() == 0 || this.timeout <= 0) { + if (this.messages.isEmpty() || this.timeout <= 0) { return null; } else if (this.currentSize >= this.bufferLimit) { @@ -128,7 +128,7 @@ public class SimpleBatchingStrategy implements BatchingStrategy { } private MessageBatch doReleaseBatch() { - if (this.messages.size() < 1) { + if (this.messages.isEmpty()) { return null; } Message message = assembleMessage(); diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/HeadersExchangeParser.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/HeadersExchangeParser.java index fc38d35a..0cb49dba 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/HeadersExchangeParser.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/HeadersExchangeParser.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,6 +30,7 @@ import org.springframework.util.xml.DomUtils; * @author Dave Syer * @author Gary Russell * @author Artem Bilan + * @author Ngoc Nhan * */ public class HeadersExchangeParser extends AbstractExchangeParser { @@ -63,7 +64,7 @@ public class HeadersExchangeParser extends AbstractExchangeParser { parserContext.getReaderContext() .error("At least one of 'binding-arguments' sub-element or 'key/value' attributes pair have to be declared.", binding); } - ManagedMap map = new ManagedMap(); + ManagedMap map = new ManagedMap<>(); map.put(new TypedStringValue(key), new TypedStringValue(value)); builder.addPropertyValue("arguments", map); } diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/ListenerContainerFactoryBean.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/ListenerContainerFactoryBean.java index 0a070e1e..c919105e 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/ListenerContainerFactoryBean.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/ListenerContainerFactoryBean.java @@ -56,6 +56,7 @@ import org.springframework.util.backoff.BackOff; * @author Artem Bilan * @author Johno Crawford * @author Jeonggi Kim + * @author Ngoc Nhan * * @since 2.0 * @@ -542,7 +543,7 @@ public class ListenerContainerFactoryBean extends AbstractFactoryBean 0, this.micrometerTags, + .acceptIfCondition(!this.micrometerTags.isEmpty(), this.micrometerTags, container::setMicrometerTags); if (this.smlcCustomizer != null && this.type.equals(Type.simple)) { this.smlcCustomizer.configure((SimpleMessageListenerContainer) container); diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/ListenerContainerParser.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/ListenerContainerParser.java index 0fb64b64..fce31f99 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/ListenerContainerParser.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/ListenerContainerParser.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2021 the original author or authors. + * Copyright 2002-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -42,6 +42,7 @@ import org.springframework.util.xml.DomUtils; /** * @author Mark Fisher * @author Gary Russell + * @author Ngoc Nhan * @since 1.0 */ class ListenerContainerParser implements BeanDefinitionParser { @@ -188,7 +189,7 @@ class ListenerContainerParser implements BeanDefinitionParser { } else { String[] names = StringUtils.commaDelimitedListToStringArray(queues); - List values = new ManagedList(); + List values = new ManagedList<>(); for (int i = 0; i < names.length; i++) { values.add(new RuntimeBeanReference(names[i].trim())); } @@ -196,14 +197,14 @@ class ListenerContainerParser implements BeanDefinitionParser { } } - ManagedMap args = new ManagedMap(); + ManagedMap args = new ManagedMap<>(); String priority = listenerEle.getAttribute("priority"); if (StringUtils.hasText(priority)) { args.put("x-priority", new TypedStringValue(priority, Integer.class)); } - if (args.size() > 0) { + if (!args.isEmpty()) { containerDef.getPropertyValues().add("consumerArguments", args); } diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/QueueParser.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/QueueParser.java index 4bce257e..38314dad 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/QueueParser.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/QueueParser.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,6 +33,7 @@ import org.springframework.util.xml.DomUtils; * @author Gary Russell * @author Felipe Gutierrez * @author Artem Bilan + * @author Ngoc Nhan * */ public class QueueParser extends AbstractSingleBeanDefinitionParser { @@ -134,7 +135,7 @@ public class QueueParser extends AbstractSingleBeanDefinitionParser { Map map = parserContext.getDelegate().parseMapElement(argumentsElement, builder.getRawBeanDefinition()); if (StringUtils.hasText(ref)) { - if (map != null && map.size() > 0) { + if (map != null && !map.isEmpty()) { parserContext.getReaderContext() .error("You cannot have both a 'ref' and a nested map", element); } diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/RabbitNamespaceUtils.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/RabbitNamespaceUtils.java index 69ba4034..c219c7bf 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/RabbitNamespaceUtils.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/RabbitNamespaceUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2021 the original author or authors. + * Copyright 2002-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -358,28 +358,22 @@ public final class RabbitNamespaceUtils { } private static AcknowledgeMode parseAcknowledgeMode(Element ele, ParserContext parserContext) { - AcknowledgeMode acknowledgeMode = null; String acknowledge = ele.getAttribute(ACKNOWLEDGE_ATTRIBUTE); if (StringUtils.hasText(acknowledge)) { - if (ACKNOWLEDGE_AUTO.equals(acknowledge)) { - acknowledgeMode = AcknowledgeMode.AUTO; - } - else if (ACKNOWLEDGE_MANUAL.equals(acknowledge)) { - acknowledgeMode = AcknowledgeMode.MANUAL; - } - else if (ACKNOWLEDGE_NONE.equals(acknowledge)) { - acknowledgeMode = AcknowledgeMode.NONE; - } - else { - parserContext.getReaderContext().error( + return switch (acknowledge) { + case ACKNOWLEDGE_AUTO -> AcknowledgeMode.AUTO; + case ACKNOWLEDGE_MANUAL -> AcknowledgeMode.MANUAL; + case ACKNOWLEDGE_NONE -> AcknowledgeMode.NONE; + default -> { + parserContext.getReaderContext().error( "Invalid listener container 'acknowledge' setting [" + acknowledge - + "]: only \"auto\", \"manual\", and \"none\" supported.", ele); - } - return acknowledgeMode; - } - else { - return null; + + "]: only \"auto\", \"manual\", and \"none\" supported.", ele); + yield null; + } + }; } + + return null; } } diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/TemplateParser.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/TemplateParser.java index 5259fa0e..c9c5c3f9 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/TemplateParser.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/TemplateParser.java @@ -34,6 +34,7 @@ import org.springframework.util.xml.DomUtils; * @author Dave Syer * @author Gary Russell * @author Artem Bilan + * @author Ngoc Nhan */ class TemplateParser extends AbstractSingleBeanDefinitionParser { @@ -160,7 +161,7 @@ class TemplateParser extends AbstractSingleBeanDefinitionParser { BeanDefinition replyContainer = null; Element childElement = null; List childElements = DomUtils.getChildElementsByTagName(element, LISTENER_ELEMENT); - if (childElements.size() > 0) { + if (!childElements.isEmpty()) { childElement = childElements.get(0); } if (childElement != null) { diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/connection/PublisherCallbackChannelImpl.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/connection/PublisherCallbackChannelImpl.java index 12284d5b..b8ee5e29 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/connection/PublisherCallbackChannelImpl.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/connection/PublisherCallbackChannelImpl.java @@ -904,12 +904,12 @@ public class PublisherCallbackChannelImpl @Override public void addListener(Listener listener) { Assert.notNull(listener, "Listener cannot be null"); - if (this.listeners.size() == 0) { + if (this.listeners.isEmpty()) { this.delegate.addConfirmListener(this); this.delegate.addReturnListener(this); } if (this.listeners.putIfAbsent(listener.getUUID(), listener) == null) { - this.pendingConfirms.put(listener, new ConcurrentSkipListMap()); + this.pendingConfirms.put(listener, new ConcurrentSkipListMap<>()); if (this.logger.isDebugEnabled()) { this.logger.debug("Added listener " + listener); } diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/connection/SimpleResourceHolder.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/connection/SimpleResourceHolder.java index f0861a04..10036d3a 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/connection/SimpleResourceHolder.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/connection/SimpleResourceHolder.java @@ -176,7 +176,7 @@ public final class SimpleResourceHolder { Map> stack = STACK.get(); if (stack != null) { Deque deque = stack.get(key); - if (deque != null && deque.size() > 0) { + if (deque != null && !deque.isEmpty()) { Object previousValue = deque.pop(); if (previousValue != null) { bind(key, previousValue); diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/connection/ThreadChannelConnectionFactory.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/connection/ThreadChannelConnectionFactory.java index d1b66753..b9d371e6 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/connection/ThreadChannelConnectionFactory.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/connection/ThreadChannelConnectionFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2020-2023 the original author or authors. + * Copyright 2020-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -49,6 +49,7 @@ import com.rabbitmq.client.ShutdownListener; * @author Gary Russell * @author Leonardo Ferreira * @author Christian Tzolov + * @author Ngoc Nhan * @since 2.3 * */ @@ -191,7 +192,7 @@ public class ThreadChannelConnectionFactory extends AbstractConnectionFactory this.connection.forceClose(); this.connection = null; } - if (this.switchesInProgress.size() > 0 && this.logger.isWarnEnabled()) { + if (!this.switchesInProgress.isEmpty() && this.logger.isWarnEnabled()) { this.logger.warn("Unclaimed context switches from threads:" + this.switchesInProgress.values() .stream() diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/core/BatchingRabbitTemplate.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/core/BatchingRabbitTemplate.java index 8982d809..18e0b117 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/core/BatchingRabbitTemplate.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/core/BatchingRabbitTemplate.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2023 the original author or authors. + * Copyright 2014-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -99,7 +99,7 @@ public class BatchingRabbitTemplate extends RabbitTemplate { } Date next = this.batchingStrategy.nextRelease(); if (next != null) { - this.scheduledTask = this.scheduler.schedule((Runnable) () -> releaseBatches(), next.toInstant()); + this.scheduledTask = this.scheduler.schedule(this::releaseBatches, next.toInstant()); } } } diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/AbstractRabbitListenerEndpoint.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/AbstractRabbitListenerEndpoint.java index 7ea93712..de0a38f5 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/AbstractRabbitListenerEndpoint.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/AbstractRabbitListenerEndpoint.java @@ -397,8 +397,7 @@ public abstract class AbstractRabbitListenerEndpoint implements RabbitListenerEn throw new IllegalStateException("Queues or queue names must be provided but not both for " + this); } if (queuesEmpty) { - Collection names = qNames; - container.setQueueNames(names.toArray(new String[0])); + container.setQueueNames(qNames.toArray(new String[0])); } else { Collection instances = getQueues(); diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/adapter/MessageListenerAdapter.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/adapter/MessageListenerAdapter.java index c9c90a18..65667d84 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/adapter/MessageListenerAdapter.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/adapter/MessageListenerAdapter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -118,6 +118,7 @@ import com.rabbitmq.client.Channel; * @author Gary Russell * @author Greg Turnquist * @author Cai Kun + * @author Ngoc Nhan * * @see #setDelegate * @see #setDefaultListenerMethod @@ -129,7 +130,7 @@ import com.rabbitmq.client.Channel; */ public class MessageListenerAdapter extends AbstractAdaptableMessageListener { - private final Map queueOrTagToMethodName = new HashMap(); + private final Map queueOrTagToMethodName = new HashMap<>(); /** * Out-of-the-box value for the default listener method: "handleMessage". @@ -314,7 +315,7 @@ public class MessageListenerAdapter extends AbstractAdaptableMessageListener { * @see #setQueueOrTagToMethodName */ protected String getListenerMethodName(Message originalMessage, Object extractedMessage) { - if (this.queueOrTagToMethodName.size() > 0) { + if (!this.queueOrTagToMethodName.isEmpty()) { MessageProperties props = originalMessage.getMessageProperties(); String methodName = this.queueOrTagToMethodName.get(props.getConsumerQueue()); if (methodName == null) { diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/retry/RepublishMessageRecoverer.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/retry/RepublishMessageRecoverer.java index ae84767a..61bb2122 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/retry/RepublishMessageRecoverer.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/retry/RepublishMessageRecoverer.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2022 the original author or authors. + * Copyright 2014-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -91,7 +91,7 @@ public class RepublishMessageRecoverer implements MessageRecoverer { * @param errorTemplate the template. */ public RepublishMessageRecoverer(AmqpTemplate errorTemplate) { - this(errorTemplate, (String) null, (String) null); + this(errorTemplate, null, (String) null); } /**