想问一下各位 v 友,springboot 有没有什么办法在调用其他服务的 dubbo 接口的时候通过 aop 这种技术来做一个拦截? 现在的场景是我这一个项目,里边好多地方调了其他服务的 dubbo 接口,但是没有入参和出参的 log 打印,也都没做 try catch 处理,然后我想到了 aop,想通过 aop 做统一的出入参的日志打印和统一的 try catch 处理,但是 dubbo 接口是代理,并不归 springboot 管理 aop 切不到 那有没有什么好的工具能实现类似 aop 的这种功能呢 求各位赐教,感激不尽
1
clf 2020-12-17 14:58:11 +08:00
dubbo 的统一的日志打印建议用专门的日志管理工具,进行调用链追踪。比如 Tlog 、zipkin 之类的。
统一异常处理可以放在 dubbo 的 Filter 里。 |
2
cheng6563 2020-12-17 15:06:42 +08:00
不会 dubbo
AOP 拦截不到的话,可以写一个 BeanPostProcessor,在 postProcessAfterInitialization 里用个代理 Bean 把原来的 Bean 替换掉。 |
5
yidinghe 2020-12-17 15:19:52 +08:00
Dubbo 有提供内置的 Filter 机制,你若需要跟踪入参出参,写个 Filter 的实现类即可,无需学习 AOP 。具体自己搜索吧。
|
6
hun2008hun 2020-12-17 15:24:21 +08:00
5 楼说的对,可以了解下 dubbo 的 SPI 机制
|