我正面临一个困扰我的大脑的问题。我有一个运行 Linux AMI 的亚马逊 ec2 实例,我安装了 tomcat7 并在其中部署了我的网络服务。这个 web 服务将自己与我有我的 mysql(我用来验证用户和密码)的 amazon RDS 实例连接起来。当我启动我的 tomcat7 服务时一切正常,一小时后我无法登录我的系统。
如果我重新启动 tomcat7 服务,一切都会恢复正常。但是为什么?
真不知道问题出在哪里。我可以直接从我在 eclipse 中的项目并通过命令行连接到我的数据库。
我不知道为什么如果我重新启动服务,我的网络服务又可以工作了。我知道服务没有停止,因为我可以访问我的 webapp 的登录页面。
非常感谢任何形式的帮助,
罗德里戈·阿劳霍。
ps:上周一切正常。
最佳答案
我以前见过这样的行为,可能是tomcat而不是ec2。检查以下内容:
1- 您的线程配置(maxThreads 和 acceptCount)。当 currentThreadsBusy > maxThreads 时,我已经看到使用阻塞连接器的这种行为。检查您是否有足够的线程或使用非阻塞 (nio) 连接器。
2- 检查您的连接池是否可以自动重新连接丢失的连接(jdbc url 中的 autoReconnect=true),您的线程可能正在等待丢失的连接上的 db io。
无论如何,您的 ec2 实例可能仍在工作...
关于java - Amazon EC2 意外停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23273298/