soul显示服务器错误,Soul接入一个Http服务
1.前文回顾
image.png
上一讲,按照这个框图部署两个服务;在此基础上我们接入一个Http协议的服务:服务路径:soul-examples-http;
2.soul-examples-http启动分析
image.png
红色框中:http client register:发起http请求去注册!
注册的报是:{"appName":"http","context":"/http","path":"/http/test/","pathDesc":"","rpcType":"http","host":"192.168.137.1","port":8188,"ruleName":"/http/test/","enabled":true,"registerMetaData":false}
进入这个类:RegisterUtils
public static void doRegister(final String json, final String url, final RpcTypeEnum rpcTypeEnum) {
try {
String result = OkHttpTools.getInstance().post(url, json);
if (AdminConstants.SUCCESS.equals(result)) {
log.info("{} client register success: {} ", rpcTypeEnum.getName(), json);
} else {
log.error("{} client register error: {} ", rpcTypeEnum.getName(), json);
}
} catch (IOException e) {
log.error("cannot register soul admin param, url: {}, request body: {}", url, json, e);
}
}
说明:往这个url发送json报文!接下的问题是在哪里调用了这个方法并且这个url地址在哪?
debug 如下如:(没有当断点发现不了问题的)
image.png
这里得到的结论:
从堆栈信息可知:上一级调用点是SpringMvcClientBeanPostProcessor的postProcessAfterInitialization
SpringMvcClientBeanPostProcessor这个类实现了BeanPostProcessor
补充说明BeanPostProcessor这个接口
BeanPostProcessor 是一个回调机制的扩展点,它的核心工作点是在 bean 的初始化前后做一些额外的处理;postProcessAfterInitialization 方法会在任何 bean 的初始化回调(例如 InitializingBean 的 afterPropertiesSet 或自定义 init-method )之后;
SpringMvcClientBeanPostProcessor的构造器调用时机?在构造器中打上断点然后通过调用栈可知:SoulSpringMvcClientConfiguration这个配置类中@Bean标注了几个方法;
初始化顺序
@ConfigurationProperties(prefix = "soul.http")
并且new SoulSpringMvcConfig();这个实例对应了配置文件中的配置
soul:
http:
adminUrl: http://localhost:9095
port: 8188
contextPath: /http
appName: http
full: false
重点说明postProcessAfterInitialization完成逻辑(注册API签名)
获取bean上的注解:controller,restController,requestMapping
上述有一个不为空,获取这个bean上是否有SoulSpringMvcClient注解(clazzAnnotation)
clazzAnnotation 不为空,并且路径包含*就发一次请求,返回;
clazzAnnotation 为空;获取所有的方法;再循环获取方法上是否有SoulSpringMvcClient注解
假如有发起http请求;
Soul-admin接收逻辑:
/**
* Register spring mvc string.
*
* @param springMvcRegisterDTO the spring mvc register dto
* @return the string
*/
@PostMapping("/springmvc-register")
public String registerSpringMvc(@RequestBody final SpringMvcRegisterDTO springMvcRegisterDTO) {
return soulClientRegisterService.registerSpringMvc(springMvcRegisterDTO);
}
猜测:将数据存入数据库,并把数据同步给bootstrap?
这时推到出如下的框图:
image.png
总结
image.png
后续:
admin接收到http register之后的处理逻辑;
负载均衡的规则处理
插件加载分析
接入不同协议的服务
soul显示服务器错误,Soul接入一个Http服务相关推荐
- soul显示服务器异常,soul聊天状态异常 消息发送失败
大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. soul聊天状态异常,消息发送失败的原因及解决方法如下: 1.发不出消息(显示红色感叹号),一般是由于网络不稳定,建议更换网络或者 ...
- soul显示服务器异常,soul账号状态异常是什么意思?soul账号异常操作多久解封
soul是一款很受欢迎的灵魂社交app,用户在soul可以结交志趣相投的朋友,还可以发广场动态,不过有的朋友可能会因为一些原因导致账号异常,那么soul账号状态异常是什么情况呢?soul异常操作行为暂 ...
- xp系统更新的服务器失败是怎么回事啊,xp系统显示“服务器错误500”的两种解决方法...
xp纯净版系统在浏览网页的时候会遇到这样或者那样的错误,比如经常遇到404错误,503错误,怎么回事呢?这些都是HTTP的状态码,不同的状态码代表不同的错误类型,有些不常用的状态码便没有详细的记载,例 ...
- 电脑xp传照片显示服务器错误,xp系统显示“服务器错误500”的两种解决方法
xp纯净版系统在浏览网页的时候会遇到这样或者那样的错误,比如经常遇到404错误,503错误,怎么回事呢?这些都是HTTP的状态码,不同的状态码代表不同的错误类型,有些不常用的状态码便没有详细的记载,例 ...
- 玩游戏显示服务器错误,为什么会显示服务器错误
2006-12-13 14:41:57 我问新浪客服了,结果我很生气,说是整个新浪统一登陆方面出现的问题 ,什么现在工程师还在做调整和处理,说是整个新浪电信服务器问题,我觉得不管怎么样也得事先通知咱们 ...
- 网渲显示服务器错误,网络渲染疑难解答指南 | 3ds Max 2021 | Autodesk Knowledge Network...
建议 进行网络渲染作业时,导致服务器失败的原因有很多.<Autodesk Backburner 用户指南>的"疑难解答"中介绍了其中的一些原因,网址为 www.auto ...
- CC送人气票显示服务器错误,[已解决]用户尝试创建新帐户时出现“服务器错误” - Magento 1.7...
当用户尝试创建一个新的帐户,他们填写自己的信息上/客户/帐号/创建页面就好了,然后当他们点击提交,他们得到这500错误: The website encountered an error while ...
- 西瓜显示服务器错误,西瓜云服务器
西瓜云服务器 内容精选 换一换 云服务器组是对云服务器的一种逻辑划分,云服务器组中的弹性云服务器遵从同一策略.当前仅支持反亲和性,即同一云服务器组中的弹性云服务器分散地创建在不同的主机上,提高业务的可 ...
- mvc怎么请求服务器错误信息,asp.net-mvc – IIS显示服务器错误而不是自定义错误...
我正在使用MVC 5,我正在使用自定义视图处理我的错误,例如(404,403 --等) 它在我的本地IIS上工作正常,但是当我在登台服务器上发布时,它显示有关这些错误代码的IIS服务器错误消息. 它显 ...
最新文章
- C# JS URL 中文传参出现乱码的解决方法
- c++重定向后恢复_【STM32CubeIDE】重定向printf
- java 边界_Java数组边界问题
- sql删除过程的命令是什么_一个删除表字段的自动化执行工单的思考
- TCP/IP / 状态转换图
- JAVA程序中 + 号的使用
- php循环读取mysql_PHP无限循环获取MySQL数据
- js_long.php,protobuf.js 与 Long.js的使用详解
- STM32F407使用MFRC522射频卡调试及程序移植成功
- 如何在Azure中配置SQL Server 2008 R2故障转移群集实例
- 【详细】endnote中英文文献混排
- oracle 中平铺函数,oracle spatial
- 串口通信的隔离传输方案记录
- matlab向量与x正方向的夹角_matlab 一个向量和矩阵中各行向量的夹角余弦值
- 乐山—都江堰青城山精彩游记
- 关于买房提前还款问题
- #XMind 8 Update 8下载与补丁激活
- 用Python绘制分子结构
- global的作用以及使用方法
- 全国十大期货app排行榜