新搭建了一个dubbo环境,大部分配置直接拿原来项目的配置,总体来说是druid、spring、springmvc、dubbo,然后启动正常,却发现所有注解的类并未注册到注册中心,查看日志发现打印出很多代理相关log,于是查找配置文件,发现druid与spring集成监控的地方对项目代码做了动态代理,导致注册失败。
<!-- 配置druid监控spring jdbc -->
<bean id="druid-stat-interceptor"
class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor" />
<bean id="druid-stat-pointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut"
scope="prototype">
<property name="patterns">
<list>
<value>com.test.init.*</value>
<value>com.test.mapper.*</value>
<value>com.test.timer.*</value>
</list>
</property>
</bean>
<aop:config>
<aop:advisor advice-ref="druid-stat-interceptor"
pointcut-ref="druid-stat-pointcut" />
</aop:config>
解决办法是将扫描service的配置去掉。