java | Apache 汤姆猫 |抓取异常并重启服务器

标签 java bash apache tomcat tomcat5.5

我有场景,

如果tomcat出现Below异常 "java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 系统资源 超过了。”

然后重启服务器。

有没有可能的解决办法。

谢谢

最佳答案

您已经提到了 Bash,所以一种可能性是有一个 cron 作业,它调用一个 shell 脚本,该脚本在每次 x 时读取日志,搜索该异常,如果找到,则像这样重新启动 Tomcat:

#!/bin/sh

results=`grep " java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] System resource exceeded." /path/to/tomcat.log

if [ ! -z "$results" ]
then
    service tomcat restart
fi

问题在于,如果 Tomcat 没有正确重启,您怎么知道。您需要扩展它以让您知道 Tomcat 已重新启动和/或检查服务是否已正常重新启动。您还需要某种形式的日期检查或日志重命名,或者每次读取该日志时,它都可以根据之前记录的异常情况采取行动。

但是 Jan 对您的问题的评论可能最好解决系统资源超限的根本问题(例如连接池、线程等)。

关于 java | Apache 汤姆猫 |抓取异常并重启服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34591101/

相关文章:

java - @RolesAllowed 对我的 RESTful 服务没有影响

java - openjdk8源码缺少java_lang_String.h文件

bash - 将当前目录保存到 bash 历史记录

linux - 仅通过一个查找/定位的结果

php - UTF-8贯穿始终

java - Camel ProducerTemplate 不返回 HttpResponse Code

mysql - 如何检索表中出现次数不多的值的行?

java - jpa和oracle客户端中相同的查询,不同的结果

java - 如何通过 keytool 命令删除已经导入的证书/别名?

bash - 如何快速检查私有(private) rsa key 是否仍然适用于 bash 中的一堆服务器?