相关疑难解决方法(0)

Tomcat 7中更快的随机生成器

我有问题,Tomcat 7在启动时非常慢.我在日志文件中找到了这个:

INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [12,367] milliseconds.
Run Code Online (Sandbox Code Playgroud)

安全性很重要,当然,但不是在我的开发机器上.我完全可以使用标准的快速随机数发生器.所以我不需要这个非常慢的SecureRandom实现.

问题是:如何禁用它?搜索解决方案,但只找到一些关于randomClass可以设置为的属性的弃用信息java.util.Random.我还发现这个属性secureRandomClass现在似乎在Tomcat 7中被命名了.我试图将它设置为java.util.Random但是这会失败,因为Tomcat 7将对象强制转换为java.util.SecureRandom(并且还记录了指定的类必须扩展java. util.SecureRandom,因此不再可能使用java.util.Random.)

那么我怎样才能摆脱这个非常慢的随机数生成器启动,以便我的开发tomcat尽可能快地启动/重启?

java tomcat

18
推荐指数
3
解决办法
1万
查看次数

Tomcat需要太多时间才能启动 - Java SecureRandom

请不要将其标记为重复.对于这两个问题,这是一个后续问题.

我理解,替换

securerandom.source=file:/dev/urandom
Run Code Online (Sandbox Code Playgroud)

securerandom.source=file:/dev/./urandom
Run Code Online (Sandbox Code Playgroud)

$JAVA_PATH/jre/lib/security/java.security将解决这个问题.

我的问题是,在制作中这样做是否可以?这会对安全性产生什么影响(比如会话ID变得可预测)?如果这不太安全,还有其他方法可以更快地提供足够的熵吗?

更新

我使用openstack进行部署(或者只是说,使用AWS或GCP或任何其他云提供商).因此,添加声卡等硬件设备对我来说不是一个选择.

java security tomcat amazon-web-services spring-boot

18
推荐指数
1
解决办法
4063
查看次数

Tomcat上的战争部署需要很长时间

我有一个Grails应用程序,内置到war文件(~30mb).当我尝试通过应用程序管理器在Tomcat 6上部署war文件时,部署或无限期挂起需要10分钟.当它挂起时我可以重新启动Tomcat并且通常会部署应用程序,但有时我必须重复此过程.我还注意到在部署期间,Java进程最大化了CPU,RAM大约为10-15%.

我对Java很新,所以我不知道这是否正常,但我无法想象它是怎么回事.有什么我可以做的让这个运行更顺畅/更快?有没有比Tomcat的应用程序管理器更好的部署方式?

java deployment tomcat

12
推荐指数
1
解决办法
2万
查看次数

我怎样才能知道在Tomcat上部署我的WAR这么长时间?

我有一个Web应用程序,通常需要花费大量时间在Tomcat上进行部署.我怀疑是某个数据库连接正在等待超时,但这只是一个猜测,我想确定是什么导致了阻塞,所以我可以解决这个问题.任何人都可以建议我可以这样做吗?我应该在加载WAR时查看Tomcat并查找线索吗?如果有,那么某个地方的教程对初学者有好处吗?

如果这很重要,我的Web应用程序使用Spring和Hibernate.一位同事告诉我,这可能会导致速度变慢,因为它们非常庞大,以至于某个类加载器正在窒息它需要加载的大量类.

当我停止Tomcat或将WAR热部署到已经运行的Tomcat时,我也看到了这一点:

Jun 1, 2012 6:03:33 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [/nacem-rest] registered the JDBC driver [oracle.jdbc.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Jun 1, 2012 6:03:34 PM org.apache.catalina.startup.HostConfig deployWAR
Run Code Online (Sandbox Code Playgroud)

也许这是问题的一部分?重新部署我的Web应用程序几乎总是需要重新启动Tomcat,我一直认为上面提到的JDBC驱动程序问题是罪魁祸首,但也许它也与缓慢的启动时间有关?

我对这类事情知之甚少,所以这是一个学习的真正机会.在此先感谢您的帮助.

java spring tomcat profiling hibernate

8
推荐指数
2
解决办法
1万
查看次数