GH-1016 - Observability proxying now uses original bean class loader.

Back-port of GH-1016.
Original issue: spring-projects/spring-data-rest#2438.
This commit is contained in:
Oliver Drotbohm
2025-01-17 00:56:35 +01:00
parent 3246099f0a
commit 5ab9c745ee

View File

@@ -20,24 +20,12 @@ import java.util.function.Consumer;
import org.springframework.aop.Advisor;
import org.springframework.aop.framework.Advised;
import org.springframework.aop.framework.ProxyFactory;
import org.springframework.beans.factory.BeanClassLoaderAware;
import org.springframework.scheduling.annotation.AsyncAnnotationAdvisor;
/**
* @author Oliver Drotbohm
*/
class ModuleTracingSupport implements BeanClassLoaderAware {
private ClassLoader classLoader;
/*
* (non-Javadoc)
* @see org.springframework.beans.factory.BeanClassLoaderAware#setBeanClassLoader(java.lang.ClassLoader)
*/
@Override
public void setBeanClassLoader(ClassLoader classLoader) {
this.classLoader = classLoader;
}
class ModuleTracingSupport {
protected final Object addAdvisor(Object bean, Advisor advisor) {
return addAdvisor(bean, advisor, __ -> {});
@@ -57,7 +45,7 @@ class ModuleTracingSupport implements BeanClassLoaderAware {
customizer.accept(factory);
factory.addAdvisor(advisor);
return factory.getProxy(classLoader);
return factory.getProxy(bean.getClass().getClassLoader());
}
}