V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iColdCat
V2EX  ›  Java

请教个关于 dubbo 和 aop 的问题

  •  
  •   iColdCat · 2020-12-17 14:47:38 +08:00 · 1851 次点击
    这是一个创建于 1426 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想问一下各位 v 友,springboot 有没有什么办法在调用其他服务的 dubbo 接口的时候通过 aop 这种技术来做一个拦截? 现在的场景是我这一个项目,里边好多地方调了其他服务的 dubbo 接口,但是没有入参和出参的 log 打印,也都没做 try catch 处理,然后我想到了 aop,想通过 aop 做统一的出入参的日志打印和统一的 try catch 处理,但是 dubbo 接口是代理,并不归 springboot 管理 aop 切不到 那有没有什么好的工具能实现类似 aop 的这种功能呢 求各位赐教,感激不尽

    7 条回复    2020-12-17 15:37:23 +08:00
    clf
        1
    clf  
       2020-12-17 14:58:11 +08:00
    dubbo 的统一的日志打印建议用专门的日志管理工具,进行调用链追踪。比如 Tlog 、zipkin 之类的。

    统一异常处理可以放在 dubbo 的 Filter 里。
    cheng6563
        2
    cheng6563  
       2020-12-17 15:06:42 +08:00
    不会 dubbo
    AOP 拦截不到的话,可以写一个 BeanPostProcessor,在 postProcessAfterInitialization 里用个代理 Bean 把原来的 Bean 替换掉。
    iColdCat
        3
    iColdCat  
    OP
       2020-12-17 15:18:16 +08:00
    @cheng6563 感谢,我去了解一下 BeanPostProcessor
    iColdCat
        4
    iColdCat  
    OP
       2020-12-17 15:19:28 +08:00
    @lychs1998 你说的 dubbo 的 Filter 是指服务提供方的 filter 吗
    yidinghe
        5
    yidinghe  
       2020-12-17 15:19:52 +08:00
    Dubbo 有提供内置的 Filter 机制,你若需要跟踪入参出参,写个 Filter 的实现类即可,无需学习 AOP 。具体自己搜索吧。
    hun2008hun
        6
    hun2008hun  
       2020-12-17 15:24:21 +08:00
    5 楼说的对,可以了解下 dubbo 的 SPI 机制
    iColdCat
        7
    iColdCat  
    OP
       2020-12-17 15:37:23 +08:00
    @yidinghe okok 我去了解下 谢啦
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1051 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:10 · PVG 04:10 · LAX 12:10 · JFK 15:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.