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 <[email protected]>
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 <[email protected]>
---
 .../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;
+    }
 }

Reply via email to