From 273cf39f5d4eafa452a354e827b212b1ed440b10 Mon Sep 17 00:00:00 2001
From: zysaaa <982020642@qq.com>
Date: Mon, 9 May 2022 22:21:01 +0800
Subject: [PATCH] Improve the instrument of spring-rabbit components. (#2154)
---
pom.xml | 2 +-
.../messaging/SleuthRabbitBeanPostProcessor.java | 16 ++++++++++++++--
spring-cloud-sleuth-dependencies/pom.xml | 2 +-
3 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/pom.xml b/pom.xml
index bd92e2d7f..7ef06826c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -73,7 +73,7 @@
3.1.3-SNAPSHOT
2.4.2-SNAPSHOT
2.5.1
- 5.13.7
+ 5.13.9
0.32.0
2.3.4.RELEASE
2.2.0.RELEASE
diff --git a/spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/instrument/messaging/SleuthRabbitBeanPostProcessor.java b/spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/instrument/messaging/SleuthRabbitBeanPostProcessor.java
index 284d7f25b..094cb0397 100644
--- a/spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/instrument/messaging/SleuthRabbitBeanPostProcessor.java
+++ b/spring-cloud-sleuth-brave/src/main/java/org/springframework/cloud/sleuth/brave/instrument/messaging/SleuthRabbitBeanPostProcessor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2013-2021 the original author or authors.
+ * Copyright 2013-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,14 +18,18 @@ package org.springframework.cloud.sleuth.brave.instrument.messaging;
import brave.spring.rabbit.SpringRabbitTracing;
+import org.springframework.amqp.rabbit.config.DirectRabbitListenerContainerFactory;
import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer;
+import org.springframework.amqp.rabbit.listener.DirectMessageListenerContainer;
+import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.config.BeanPostProcessor;
/**
- *
+ * Instruments spring-rabbit related components.
*/
public class SleuthRabbitBeanPostProcessor implements BeanPostProcessor {
@@ -46,6 +50,14 @@ public class SleuthRabbitBeanPostProcessor implements BeanPostProcessor {
return rabbitTracing()
.decorateSimpleRabbitListenerContainerFactory((SimpleRabbitListenerContainerFactory) bean);
}
+ else if (bean instanceof DirectRabbitListenerContainerFactory) {
+ return rabbitTracing()
+ .decorateDirectRabbitListenerContainerFactory((DirectRabbitListenerContainerFactory) bean);
+ }
+ else if (bean instanceof SimpleMessageListenerContainer || bean instanceof DirectMessageListenerContainer) {
+ return rabbitTracing()
+ .decorateMessageListenerContainer((AbstractMessageListenerContainer) bean);
+ }
return bean;
}
diff --git a/spring-cloud-sleuth-dependencies/pom.xml b/spring-cloud-sleuth-dependencies/pom.xml
index b493ec468..14d614835 100644
--- a/spring-cloud-sleuth-dependencies/pom.xml
+++ b/spring-cloud-sleuth-dependencies/pom.xml
@@ -42,7 +42,7 @@
- 5.13.7
+ 5.13.9
0.37.4
4.2.2