一个奇怪的bug-tomcat卡在deploying

今天在部署一个新的开发环境, 然后启动tomcat的时候, 发现居然启动卡住了, tomcat启动以后卡在INFO: Deploying web application directory ......反反复复尝试, 未果, 于是上google爬了下文, 发现是jdk的一个bug导致的;附下官网的解释

原因在于centos7的随机数获取机制问题, 和jdk7的不兼容, 重启服务器的第一次启动可以, 再启动tomcat就会卡住了;

若要尝试下哪种系统会卡住, 可以通过下面的命令在linux系统下测试是否会卡这个bug;

head -n 1 /devrandom

会发现第一次很快返回一个随机数, 第二次就一直卡住了;

解决方案

更改~/jre/lib/security/java.security里面的

securerandom.source=file:/dev/urandom

改为

securerandom.source=file:/dev/./urandom

这里很奇怪的是官网的文档是叫人改为/dev/urandom,就是调用urandom, 不要调用random;而实际上中间还要加个/./才可以成功启动tomcat

这是为什么呢? 最后被我找到了一遍详细的文章; 好奇的可以再继续探究探究;

相关文章

SecureRandom的江湖偏方与真实效果

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容