Skip to content

Commit 327ef13

Browse files
zhangjidi2016zhangjidi2016
andauthored
[ISSUE #385]Add message trace setting in ExtRocketMQConsumerConfiguration. (#386)
Co-authored-by: zhangjidi2016 <zhangjidi@cmss.chinamobile.com>
1 parent 025d58d commit 327ef13

4 files changed

Lines changed: 41 additions & 1 deletion

File tree

rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/annotation/ExtRocketMQConsumerConfiguration.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
String ACCESS_CHANNEL_PLACEHOLDER = "${rocketmq.access-channel:}";
3838
String ACCESS_KEY_PLACEHOLDER = "${rocketmq.consumer.access-key:}";
3939
String SECRET_KEY_PLACEHOLDER = "${rocketmq.consumer.secret-key:}";
40+
String TRACE_TOPIC_PLACEHOLDER = "${rocketmq.consumer.customized-trace-topic:}";
4041

4142
/**
4243
* The component name of the Producer configuration.
@@ -94,4 +95,14 @@
9495
* Maximum number of messages pulled each time.
9596
*/
9697
int pullBatchSize() default 10;
98+
99+
/**
100+
* Switch flag instance for message trace.
101+
*/
102+
boolean enableMsgTrace() default false;
103+
104+
/**
105+
* The name value of message trace topic.If you don't config,you can use the default trace topic name.
106+
*/
107+
String customizedTraceTopic() default TRACE_TOPIC_PLACEHOLDER;
97108
}

rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtConsumerResetConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,10 @@ private DefaultLitePullConsumer createConsumer(ExtRocketMQConsumerConfiguration
126126
String ak = resolvePlaceholders(annotation.accessKey(), consumerConfig.getAccessKey());
127127
String sk = resolvePlaceholders(annotation.secretKey(), consumerConfig.getSecretKey());
128128
int pullBatchSize = annotation.pullBatchSize();
129-
130129
DefaultLitePullConsumer litePullConsumer = RocketMQUtil.createDefaultLitePullConsumer(nameServer, accessChannel,
131130
groupName, topicName, messageModel, selectorType, selectorExpression, ak, sk, pullBatchSize);
131+
litePullConsumer.setEnableMsgTrace(annotation.enableMsgTrace());
132+
litePullConsumer.setCustomizedTraceTopic(resolvePlaceholders(annotation.customizedTraceTopic(), consumerConfig.getCustomizedTraceTopic()));
132133
return litePullConsumer;
133134
}
134135

rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ public DefaultLitePullConsumer defaultLitePullConsumer(RocketMQProperties rocket
142142

143143
DefaultLitePullConsumer litePullConsumer = RocketMQUtil.createDefaultLitePullConsumer(nameServer, accessChannel,
144144
groupName, topicName, messageModel, selectorType, selectorExpression, ak, sk, pullBatchSize);
145+
litePullConsumer.setEnableMsgTrace(consumerConfig.isEnableMsgTrace());
146+
litePullConsumer.setCustomizedTraceTopic(consumerConfig.getCustomizedTraceTopic());
145147
return litePullConsumer;
146148
}
147149

rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,16 @@ public static final class Consumer {
271271
*/
272272
private int pullBatchSize = 10;
273273

274+
/**
275+
* Switch flag instance for message trace.
276+
*/
277+
private boolean enableMsgTrace = false;
278+
279+
/**
280+
* The name value of message trace topic.If you don't config,you can use the default trace topic name.
281+
*/
282+
private String customizedTraceTopic = TopicValidator.RMQ_SYS_TRACE_TOPIC;
283+
274284
/**
275285
* listener configuration container
276286
* the pattern is like this:
@@ -351,6 +361,22 @@ public Map<String, Map<String, Boolean>> getListeners() {
351361
public void setListeners(Map<String, Map<String, Boolean>> listeners) {
352362
this.listeners = listeners;
353363
}
364+
365+
public boolean isEnableMsgTrace() {
366+
return enableMsgTrace;
367+
}
368+
369+
public void setEnableMsgTrace(boolean enableMsgTrace) {
370+
this.enableMsgTrace = enableMsgTrace;
371+
}
372+
373+
public String getCustomizedTraceTopic() {
374+
return customizedTraceTopic;
375+
}
376+
377+
public void setCustomizedTraceTopic(String customizedTraceTopic) {
378+
this.customizedTraceTopic = customizedTraceTopic;
379+
}
354380
}
355381

356382
}

0 commit comments

Comments
 (0)