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

jinrongtong 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 327ef13  [ISSUE #385]Add message trace setting in 
ExtRocketMQConsumerConfiguration. (#386)
327ef13 is described below

commit 327ef13383eccef34de0c41ed3e5f48aada21ef3
Author: zhangjidi2016 <[email protected]>
AuthorDate: Thu Aug 26 12:32:07 2021 +0800

    [ISSUE #385]Add message trace setting in ExtRocketMQConsumerConfiguration. 
(#386)
    
    Co-authored-by: zhangjidi2016 <[email protected]>
---
 .../ExtRocketMQConsumerConfiguration.java          | 11 +++++++++
 .../ExtConsumerResetConfiguration.java             |  3 ++-
 .../autoconfigure/RocketMQAutoConfiguration.java   |  2 ++
 .../spring/autoconfigure/RocketMQProperties.java   | 26 ++++++++++++++++++++++
 4 files changed, 41 insertions(+), 1 deletion(-)

diff --git 
a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/annotation/ExtRocketMQConsumerConfiguration.java
 
b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/annotation/ExtRocketMQConsumerConfiguration.java
index 63e4e37..8529d24 100644
--- 
a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/annotation/ExtRocketMQConsumerConfiguration.java
+++ 
b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/annotation/ExtRocketMQConsumerConfiguration.java
@@ -37,6 +37,7 @@ public @interface ExtRocketMQConsumerConfiguration {
     String ACCESS_CHANNEL_PLACEHOLDER = "${rocketmq.access-channel:}";
     String ACCESS_KEY_PLACEHOLDER = "${rocketmq.consumer.access-key:}";
     String SECRET_KEY_PLACEHOLDER = "${rocketmq.consumer.secret-key:}";
+    String TRACE_TOPIC_PLACEHOLDER = 
"${rocketmq.consumer.customized-trace-topic:}";
 
     /**
      * The component name of the Producer configuration.
@@ -94,4 +95,14 @@ public @interface ExtRocketMQConsumerConfiguration {
      * Maximum number of messages pulled each time.
      */
     int pullBatchSize() default 10;
+
+    /**
+     * Switch flag instance for message trace.
+     */
+    boolean enableMsgTrace() default false;
+
+    /**
+     * The name value of message trace topic.If you don't config,you can use 
the default trace topic name.
+     */
+    String customizedTraceTopic() default TRACE_TOPIC_PLACEHOLDER;
 }
\ No newline at end of file
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 1726392..dc8a039 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
@@ -126,9 +126,10 @@ public class ExtConsumerResetConfiguration implements 
ApplicationContextAware, S
         String ak = resolvePlaceholders(annotation.accessKey(), 
consumerConfig.getAccessKey());
         String sk = resolvePlaceholders(annotation.secretKey(), 
consumerConfig.getSecretKey());
         int pullBatchSize = annotation.pullBatchSize();
-
         DefaultLitePullConsumer litePullConsumer = 
RocketMQUtil.createDefaultLitePullConsumer(nameServer, accessChannel,
                 groupName, topicName, messageModel, selectorType, 
selectorExpression, ak, sk, pullBatchSize);
+        litePullConsumer.setEnableMsgTrace(annotation.enableMsgTrace());
+        
litePullConsumer.setCustomizedTraceTopic(resolvePlaceholders(annotation.customizedTraceTopic(),
 consumerConfig.getCustomizedTraceTopic()));
         return litePullConsumer;
     }
 
diff --git 
a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQAutoConfiguration.java
 
b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQAutoConfiguration.java
index b9ec643..41dc8a8 100644
--- 
a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQAutoConfiguration.java
+++ 
b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQAutoConfiguration.java
@@ -142,6 +142,8 @@ public class RocketMQAutoConfiguration implements 
ApplicationContextAware {
 
         DefaultLitePullConsumer litePullConsumer = 
RocketMQUtil.createDefaultLitePullConsumer(nameServer, accessChannel,
                 groupName, topicName, messageModel, selectorType, 
selectorExpression, ak, sk, pullBatchSize);
+        litePullConsumer.setEnableMsgTrace(consumerConfig.isEnableMsgTrace());
+        
litePullConsumer.setCustomizedTraceTopic(consumerConfig.getCustomizedTraceTopic());
         return litePullConsumer;
     }
 
diff --git 
a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java
 
b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java
index 015a02d..4337ff3 100644
--- 
a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java
+++ 
b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java
@@ -272,6 +272,16 @@ public class RocketMQProperties {
         private int pullBatchSize = 10;
 
         /**
+         * Switch flag instance for message trace.
+         */
+        private boolean enableMsgTrace = false;
+
+        /**
+         * The name value of message trace topic.If you don't config,you can 
use the default trace topic name.
+         */
+        private String customizedTraceTopic = 
TopicValidator.RMQ_SYS_TRACE_TOPIC;
+
+        /**
          * listener configuration container
          * the pattern is like this:
          * group1.topic1 = false
@@ -351,6 +361,22 @@ public class RocketMQProperties {
         public void setListeners(Map<String, Map<String, Boolean>> listeners) {
             this.listeners = listeners;
         }
+
+        public boolean isEnableMsgTrace() {
+            return enableMsgTrace;
+        }
+
+        public void setEnableMsgTrace(boolean enableMsgTrace) {
+            this.enableMsgTrace = enableMsgTrace;
+        }
+
+        public String getCustomizedTraceTopic() {
+            return customizedTraceTopic;
+        }
+
+        public void setCustomizedTraceTopic(String customizedTraceTopic) {
+            this.customizedTraceTopic = customizedTraceTopic;
+        }
     }
 
 }

Reply via email to