You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by ji...@apache.org on 2021/08/26 04:32:35 UTC
[rocketmq-spring] branch master updated: [ISSUE #385]Add message
trace setting in ExtRocketMQConsumerConfiguration. (#386)
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 <zh...@cmss.chinamobile.com>
AuthorDate: Thu Aug 26 12:32:07 2021 +0800
[ISSUE #385]Add message trace setting in ExtRocketMQConsumerConfiguration. (#386)
Co-authored-by: zhangjidi2016 <zh...@cmss.chinamobile.com>
---
.../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;
+ }
}
}