我有场景,
如果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/