出现 OutOfMemoryError 时自动重启 tomcat

Min*_*fei 3 java tomcat

当 OutOfMemoryError 发生时,我需要在服务器端自动重启 tomcat。最简单的方法是使用 JVM 选项:OnOutOfMemoryError="service tomcat restart"。

问题:Tomcat 是由 tomcat 用户运行的。tomcat 用户无权使用service 命令重启tomcat,或直接运行/etc/init.d/tomcat6(此脚本中的某些命令只能由root 执行)。

此外,让 tomcat 用户 sudoer 不是一个好主意。有没有更好的方法来做到这一点?

Bri*_*anC 5

解决方案是修复内存泄漏,而不是自动重启来绕过它。这并不是真正的解决方案,并且仍然会导致所有用户退出并迫使他们重新登录。