解决思路
除了没有走代理之外,特殊的情况是dubbo接口
- 当dubbo接口没有注入为Bean的时候,需要用DubboFilter实现Dubbo接口切面的功能
- 也可以通过设计模式,用包装模式来实现Dubbo接口切面代理
- 如果dubbo接口注入了Bean,那么可以按照代理的方式直接用切面实现切入
例子
// 这里的contract 接口是一个dubbo接口,已经注入了Spring Bean,可以通过切面表达式进入
@Around("execution(* com.XXX.service.XXX.contract.service.XXXXService.createOrders(..))")
public Object interceptCreateOrders(ProceedingJoinPoint joinPoint) throws Throwable {
}
<dubbo:reference id="XXXXService"
interface="com.XXX.service.XXX.contract.service.XXXXService"
timeout="2000"/>