Shiro 卡顿/Subject.login/SecureRandom 方法卡顿问题解决方法 Shiro
  • 创建时间:2024-08-30 / 最新修改时间:2024-08-30 11:14:51
  • 160
  • 0
转载请注明本文出处:http://limpire.cn/artifact/programming/java/234.html


Shiro 卡顿/Subject.login/SecureRandom 方法卡顿问题解决方法

项目集成了Shiro,在测试机(windows)下没有异常,调用Subject.login 进行登录速度正常。

部署到服务器(centos7.9 + docker + openjdk11) 时,发现卡在Subject.login方法约 10分钟。

通过代码调试和日志排查看到 是 SecureRandom 的问题。

o.a.c.util.SessionIdGeneratorBase        : Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [410,817] milliseconds.

解决方法:

在运行java 命令添加下面的参数

-Djava.security.egd=file:/dev/./urandom

原因分析:

SecureRandom 调用默认调用 :/dev/random 生成随机数, 而 :/dev/random 是阻塞的,我们只需要换成 /dev/./urandom 即可.

参考:

https://www.cnblogs.com/yhjs/p/15563933.html


请说:

昵称 Email

评论:

吃不起海鲜就买海鲜味的酱油

回车换行很爽,代表着一个段落或者一个小结的完成,打印出来之后就是一个可触摸的成品.围着这种意境,一起来技术性打酱油.

文章列表
分类目录
友情链接