Tomcat9 在 OpenJdk11 中使用安全管理器响应缓慢
Posted
技术标签:
【中文标题】Tomcat9 在 OpenJdk11 中使用安全管理器响应缓慢【英文标题】:Tomcat9 slow response with security manager in OpenJdk11 【发布时间】:2019-11-28 03:04:41 【问题描述】:我们在 tomcat9 的 java 选项中添加了 -Djava.security.manager 参数来启用安全管理器。 Tomcat 运行时没有任何问题,但是当我尝试执行某些操作时,需要 9-10 分钟来处理该操作(登录、注销已部署的应用程序或直接访问其中一个 servlet),并且日志文件中也没有错误。如果我删除此参数,则没有延迟。
此问题仅在 java11 中可见。在 Java 8 之前它可以正常工作,没有任何问题。
例如安全管理器 + tomcat9+ java 11= 执行任何操作都很慢
安全管理器 + tomcat9+ java 8= 按预期工作
【问题讨论】:
您是否尝试过进行线程转储以查看卡在哪里? 【参考方案1】:添加权限 java.lang.RuntimePermission "accessSystemModules";在 catalina.policy 解决问题,因为它需要 defineClassInPackage.java.* 权限。 在 java 8 中,它可以在不提供 accessSystemModule 的情况下工作,但在 java 11 中是必需的
【讨论】:
以上是关于Tomcat9 在 OpenJdk11 中使用安全管理器响应缓慢的主要内容,如果未能解决你的问题,请参考以下文章
javax.imageio.IIOException:无法在 Tomcat 9、OpenJDK 11 和 Geoserver 中创建 ImageInputStream