如题
csga3l581#
执行两次吧?
eoigrqb62#
en
3mpgtkmj3#
@miaogr86@lihengming个人分析:这是由于Spring Boot 默认配置造成的:spring.aop.auto=true (等同于@EnableAspectJAutoProxy)。这个与DefaultAdvisorAutoProxyCreator的再次注入有冲突。这个bug不仅会导致aop的统计有问题,而且可能还会导致事务的两次代理,等等。
个人实践,添加以下代码即可解决:(如有其它方法,请指出!)com.alibaba.druid.spring.boot.autoconfigure.stat.DruidSpringAopConfiguration
@ConditionalOnProperty(name = "spring.aop.auto",havingValue = "false")
@Bean @ConditionalOnProperty(name = "spring.aop.auto",havingValue = "false") public DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator() { DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator = new DefaultAdvisorAutoProxyCreator(); advisorAutoProxyCreator.setProxyTargetClass(true); return advisorAutoProxyCreator; }
nfeuvbwi4#
@miaogr86 你这个第一个图是怎么调出来的
4条答案
按热度按时间csga3l581#
执行两次吧?
eoigrqb62#
en
3mpgtkmj3#
@miaogr86@lihengming
个人分析:这是由于Spring Boot 默认配置造成的:spring.aop.auto=true (等同于@EnableAspectJAutoProxy)。
这个与DefaultAdvisorAutoProxyCreator的再次注入有冲突。
这个bug不仅会导致aop的统计有问题,而且可能还会导致事务的两次代理,等等。
个人实践,添加以下代码即可解决:(如有其它方法,请指出!)
com.alibaba.druid.spring.boot.autoconfigure.stat.DruidSpringAopConfiguration
@ConditionalOnProperty(name = "spring.aop.auto",havingValue = "false")
nfeuvbwi4#
@miaogr86 你这个第一个图是怎么调出来的