tree: 85aff87720ca6531d00c3ff58dc7bbfb5a99806f [path history] [tgz]
  1. .image/
  2. dubbo-samples-notify-consumer/
  3. dubbo-samples-notify-interface/
  4. dubbo-samples-notify-provider/
  5. case-configuration.yml
  6. case-versions.conf
  7. pom.xml
  8. README.md
2-advanced/dubbo-samples-notify/README.md

三种方式使用dubbonotify功能

使用背景

Consumer端调用远程服务后,如果希望在方法执行后正常返回后出现异常后做一些额外的处理逻辑,可以分别通过配置方法的oninvokeonreturnonthrow属性来执行对应的逻辑处理,这里介绍三种配置方式。

方式一

Consumer端使用@DubboReference纯注解方式配置事件通知,该方法是在@DubboReference注解中直接配置oninvokeonreturnonthrow属性。经过测试,这种方法是成功的,对应的示例如下: 方式一

注意: 示例中的属性值notify.onReturn,表示如果正常返回则会执行名字为notifybeanonReturn方法,其他属性值意义类似。

方式二

尝试使用注解+properties方式

注意:这种方式是失败的,不会执行配置的事件通知方法,后续会验证为什么不可以。

首先只使用了@DubboReference注解,然后在dubbo.properties中配置了对应的事件通知方法,具体如下:

方式三

尝试在application.yml文件中配置,也是失败的,目前dubbo3还不支持在yml中配置事件通知方法。