最近开发的一个项目客户使用Windows服务器部署,启动方式黑窗口,访问时总是会遇到窗口卡住不动,微服务之间的相互调用失败。有时候一个操作可能要刷新重试好几次才能成功,开发过程中有三分之一的时间都花费在等服务器反应了,特别影响效率。今天终于在不耐烦的情况下研究了这个问题,找到了解决方案,最主要的是操作很简单,就一个小小的设置,愣是坑了这么久,想想以后遇到问题还是及时解决,才是最省时省力的方式。
参考博客:Windows系统启动springboot项目黑窗口卡主不动问题_架构师小跟班-CSDN博客
分析其问题出现的主要原因是:一个线程执行时,导致另一个线程IO阻塞,从而导致应用后台卡住。
解决方案就是:
1、将springboot日志输出改为异步方式,避免同步输出引起线程阻塞。
2、windows系统中cmd存在日志输出bug,经常导致日志卡住,具体表现为:命令行卡死不动,但是进程和线程依然再运行。此时敲一下回车键,命令行会马上打印卡死期间输出的信息。
这种情况下只需要对cmd窗口进行设置即可:右键窗口标题,属性,把快速编辑模式关掉就可以了。


Windows服务器部署的SpringBoot项目在启动时出现黑窗口卡住,导致微服务相互调用失败。问题源于线程执行时的IO阻塞。解决方案包括将日志输出改为异步方式和关闭Windows cmd的快速编辑模式,通过右键窗口标题,属性设置,禁用快速编辑模式可解决此问题。
最低0.47元/天 解锁文章
737

被折叠的 条评论
为什么被折叠?



