Soul网关源码分析-dubbo应用启动自动注册拦截规则信息到soul-admin

本文从源码角度分析了Dubbo应用如何在启动时自动将拦截规则注册到soul-admin。通过修改application.yaml配置文件和引入soul-spring-boot-starter-client-apache-dubbo依赖,启动应用后,服务信息和选择器规则会出现在soul-admin中。关键在于ApacheDubboServiceBeanPostProcessor类利用ApplicationContext事件机制,在启动时发送注册请求。
摘要由CSDN通过智能技术生成

在上一篇中,我对http请求从浏览器端如何通过soul转发到后台的整个流程从源码的角度做了梳理,今天,将从源码的角度来分析一下,Dubbo应用接入soul后是如何做到在启动时将拦截规则信息自动注册到soul-admin中的。

首先,先大概讲一下一个dubbo应用接入soul应该要做哪些事情:
1、需修改 application.yaml 配置文件,添加 Soul 配置项如下:

soul:
  dubbo:
    adminUrl: http://localhost:9095
    contextPath: /dubbo
    appName: dubbo

2、修改 pom.xml 文件,引入soul-spring-boot-starter-client-apache-dubbo依赖:

<dependency>
            <groupId>org.dromara</groupId>
            <artifactId>soul-spring-boot-starter-client-apache-dubbo</artifactId>
            <version>${soul.version}</version>
        </dependency>

加上这些配置,启动soul-examples-apache-dubbo-service工程后,控制台日志会输出以下信息:

2021-01-20 01:13:03.084  INFO 21220 --- [pool-2-thread-1] o.d.s.client.common.utils.RegisterUtils  : dubbo client register success: {"appName":"dubbo","contextPath":"/dubbo","path":"/dubbo/insert","pathDesc":"Insert a row of data","rpcType":"dubbo","serviceName":"org.dromara.soul.examples.dubbo.api.service.DubboTestService","methodName":"insert","ruleName":"/dubbo/insert","parameterTypes":"org.dromara.soul.examples.dubbo.api.entity.DubboTest","rpcExt":"{\"group\":\"\",\"version\":\"\",\"loadbalance\":\"random\",\"retries\":2,\"timeout\":10000,\"url\":\"\"}","enabled":true} 
2021-01-20 01:13:03.098  INFO 21220 --- [pool-2-thread-1] o.d.s.client.common.utils.RegisterUtils  : dubbo client register success: {"appName":"dubbo","contextPath":"/dubbo","path":"/dubbo/findById","pathDesc":"Query by Id","rpcType":"dubbo","serviceName":"org.dromara.soul.examples.dubbo.api.service.DubboTestService","methodName":"findById","ruleName":"/dubbo/findById","parameterTypes":"java.lang.String","rpcExt":"{\"group\":\"\",\"version\":\"\",\"loadbalance\":\"random\",\"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值