我是靠谱客的博主 轻松手链,最近开发中收集的这篇文章主要介绍记录一次模拟hystrix服务降级时,线程睡眠导致的子线程中断错误,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

为模拟hystrix的服务降级,我创建了客户端和服务端微服务模拟。

在服务端中,我使用线程睡眠模拟高并发请求造成的线程拥挤,并创建了fallback method作为服务降级时返回的方法。

然后在客户端使用feign标注接口,在controller调用该方法。

结果,服务端因为线程睡眠, 造成主线程结束,而子线程还在睡眠,所以报了sleep interapter错误

客户端因为服务端未返回数据报了超时错误。

解决方法:Thread.sleep()不能在异步方法中使用 ,使用Thread.currentThread().wait()替代。

最后,客户端正常接收fallback method返回的字符串。 

最后

以上就是轻松手链为你收集整理的记录一次模拟hystrix服务降级时,线程睡眠导致的子线程中断错误的全部内容,希望文章能够帮你解决记录一次模拟hystrix服务降级时,线程睡眠导致的子线程中断错误所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部