You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by di...@apache.org on 2022/09/06 06:41:43 UTC

[rocketmq-spring] branch master updated: [ISSUE #481] Add defaultNamespace to both producer and consumer . (#481) (#482)

This is an automated email from the ASF dual-hosted git repository.

dinglei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-spring.git


The following commit(s) were added to refs/heads/master by this push:
     new 15f81e6  [ISSUE #481] Add defaultNamespace to both producer and consumer . (#481) (#482)
15f81e6 is described below

commit 15f81e65ddf22199806c32fb2118e7fbeabe19c2
Author: zhouhai22 <53...@users.noreply.github.com>
AuthorDate: Tue Sep 6 14:41:37 2022 +0800

    [ISSUE #481] Add defaultNamespace to both producer and consumer . (#481) (#482)
    
    * [ISSUE #481] Add defaultNamespace to both producer and consumer . (#481)
    
    * [ISSUE #481] Add defaultNamespace to both producer and consumer . (#481)
    
    Co-authored-by: zhouchunhai <zh...@cmss.chinamobile.com>
---
 .../spring/autoconfigure/ExtConsumerResetConfiguration.java       | 2 +-
 .../spring/autoconfigure/ExtProducerResetConfiguration.java       | 2 +-
 .../spring/autoconfigure/ListenerContainerConfiguration.java      | 8 +++-----
 .../java/org/apache/rocketmq/spring/support/RocketMQUtil.java     | 6 ++++++
 4 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtConsumerResetConfiguration.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtConsumerResetConfiguration.java
index 7b74bb2..7c02ebb 100644
--- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtConsumerResetConfiguration.java
+++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtConsumerResetConfiguration.java
@@ -130,7 +130,7 @@ public class ExtConsumerResetConfiguration implements ApplicationContextAware, S
                 groupName, topicName, messageModel, selectorType, selectorExpression, ak, sk, pullBatchSize, useTLS);
         litePullConsumer.setEnableMsgTrace(annotation.enableMsgTrace());
         litePullConsumer.setCustomizedTraceTopic(resolvePlaceholders(annotation.customizedTraceTopic(), consumerConfig.getCustomizedTraceTopic()));
-        litePullConsumer.setNamespace(annotation.namespace());
+        litePullConsumer.setNamespace(RocketMQUtil.getNamespace(annotation.namespace(), consumerConfig.getNamespace()));
         litePullConsumer.setInstanceName(annotation.instanceName());
         return litePullConsumer;
     }
diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtProducerResetConfiguration.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtProducerResetConfiguration.java
index 4e3c1f5..f55ca35 100644
--- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtProducerResetConfiguration.java
+++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtProducerResetConfiguration.java
@@ -127,7 +127,7 @@ public class ExtProducerResetConfiguration implements ApplicationContextAware, S
         producer.setCompressMsgBodyOverHowmuch(annotation.compressMessageBodyThreshold() == -1 ? producerConfig.getCompressMessageBodyThreshold() : annotation.compressMessageBodyThreshold());
         producer.setRetryAnotherBrokerWhenNotStoreOK(annotation.retryNextServer());
         producer.setUseTLS(useTLS);
-        producer.setNamespace(annotation.namespace());
+        producer.setNamespace(RocketMQUtil.getNamespace(annotation.namespace(), rocketMQProperties.getProducer().getNamespace()));
         producer.setInstanceName(annotation.instanceName());
         return producer;
     }
diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java
index dd705ff..fcc135f 100644
--- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java
+++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java
@@ -29,6 +29,7 @@ import org.apache.rocketmq.spring.core.RocketMQListener;
 import org.apache.rocketmq.spring.core.RocketMQReplyListener;
 import org.apache.rocketmq.spring.support.DefaultRocketMQListenerContainer;
 import org.apache.rocketmq.spring.support.RocketMQMessageConverter;
+import org.apache.rocketmq.spring.support.RocketMQUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.aop.framework.AopProxyUtils;
@@ -155,11 +156,8 @@ public class ListenerContainerConfiguration implements ApplicationContextAware,
         container.setMessageConverter(rocketMQMessageConverter.getMessageConverter());
         container.setName(name);
 
-        // set default namespace
-        String namespace = rocketMQProperties.getConsumer().getNamespace();
-        if (StringUtils.isEmpty(container.getNamespace()) && !StringUtils.isEmpty(namespace)) {
-            container.setNamespace(namespace);
-        }
+        container.setNamespace(RocketMQUtil.getNamespace(container.getNamespace(),
+            rocketMQProperties.getPushConsumer().getNamespace()));
         return container;
     }
 
diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/RocketMQUtil.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/RocketMQUtil.java
index 8a39a73..962aad2 100644
--- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/RocketMQUtil.java
+++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/RocketMQUtil.java
@@ -326,4 +326,10 @@ public class RocketMQUtil {
 
         return litePullConsumer;
     }
+
+    public static String getNamespace(String specifiedNamespace, String defaultNamespace) {
+        // prefer to use annotation namespace
+        // if is empty a default namespace will be used
+        return !StringUtils.hasLength(specifiedNamespace) && StringUtils.hasLength(defaultNamespace) ? defaultNamespace : specifiedNamespace;
+    }
 }