Post-processors ignore AopInfrastructureBean (includes ScopedObject)
Issue: SPR-17166
This commit is contained in:
parent
8bf8092740
commit
71d4dbea13
|
@ -20,7 +20,6 @@ import java.util.Map;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
import org.springframework.aop.Advisor;
|
import org.springframework.aop.Advisor;
|
||||||
import org.springframework.aop.scope.ScopedObject;
|
|
||||||
import org.springframework.aop.support.AopUtils;
|
import org.springframework.aop.support.AopUtils;
|
||||||
import org.springframework.beans.factory.config.BeanPostProcessor;
|
import org.springframework.beans.factory.config.BeanPostProcessor;
|
||||||
import org.springframework.lang.Nullable;
|
import org.springframework.lang.Nullable;
|
||||||
|
@ -64,7 +63,7 @@ public abstract class AbstractAdvisingBeanPostProcessor extends ProxyProcessorSu
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object postProcessAfterInitialization(Object bean, String beanName) {
|
public Object postProcessAfterInitialization(Object bean, String beanName) {
|
||||||
if (this.advisor == null || bean instanceof ScopedObject || bean instanceof AopInfrastructureBean) {
|
if (this.advisor == null || bean instanceof AopInfrastructureBean) {
|
||||||
// Ignore AOP infrastructure such as scoped proxies.
|
// Ignore AOP infrastructure such as scoped proxies.
|
||||||
return bean;
|
return bean;
|
||||||
}
|
}
|
||||||
|
@ -93,7 +92,7 @@ public abstract class AbstractAdvisingBeanPostProcessor extends ProxyProcessorSu
|
||||||
return proxyFactory.getProxy(getProxyClassLoader());
|
return proxyFactory.getProxy(getProxyClassLoader());
|
||||||
}
|
}
|
||||||
|
|
||||||
// No async proxy needed.
|
// No proxy needed.
|
||||||
return bean;
|
return bean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,6 @@ import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
import org.springframework.aop.framework.AopInfrastructureBean;
|
import org.springframework.aop.framework.AopInfrastructureBean;
|
||||||
import org.springframework.aop.framework.AopProxyUtils;
|
import org.springframework.aop.framework.AopProxyUtils;
|
||||||
import org.springframework.aop.scope.ScopedObject;
|
|
||||||
import org.springframework.aop.support.AopUtils;
|
import org.springframework.aop.support.AopUtils;
|
||||||
import org.springframework.beans.factory.BeanFactory;
|
import org.springframework.beans.factory.BeanFactory;
|
||||||
import org.springframework.beans.factory.BeanFactoryAware;
|
import org.springframework.beans.factory.BeanFactoryAware;
|
||||||
|
@ -334,9 +333,9 @@ public class ScheduledAnnotationBeanPostProcessor
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object postProcessAfterInitialization(Object bean, String beanName) {
|
public Object postProcessAfterInitialization(Object bean, String beanName) {
|
||||||
// Only process scoped target instances, not scoped proxies...
|
if (bean instanceof AopInfrastructureBean || bean instanceof TaskScheduler ||
|
||||||
if (bean instanceof ScopedObject || bean instanceof AopInfrastructureBean ||
|
bean instanceof ScheduledExecutorService) {
|
||||||
bean instanceof TaskScheduler || bean instanceof ScheduledExecutorService) {
|
// Ignore AOP infrastructure such as scoped proxies.
|
||||||
return bean;
|
return bean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue