根据soul官方文档的指引,Sofa接入soul网关,启动完 soul-admin,soul-bootdtrap,再去启动 TestSofaApplication 时报连接错误,看了下是因为没启动 zookeeper,zookeeper 开启后 ,就成功运行了 sofa插件,但使用网关访问时报这个错误。
{"code":-106,"message":"Can not find url, please check your configuration!","data":null}
后来发现重启 soul-bootstrap 就可以了,应该是重启才注册了元数据。
sofa插件执行的时候,首先是在 AbstractSoulPlugin 根据 url 找到对应的选择器规则。
在执行 GlobalPlugin 时,使用 DefaultSoulContextBuilder ,构建了 exchange 的数据,从缓存中拿到元数据,放到 exchange 里。
在执行 BodyParamPlugin 插件时,把 sofa 的参数封装在 exchange 里。
exchange.getAttributes().put(Constants.SOFA_PARAMS,
HttpParamConverter.ofString(() -> serverRequest.