我有一个 play framework 2.3 应用程序。当我在开发或生产模式下将它部署到我的本地机器时,它工作得很好。但是,当我在另一台服务器(Red Hat Enterprise Linux Server 6.2 版,圣地亚哥)中部署时,大约 2 小时后应用程序关闭。
多次分析应用程序后,我得出结论,不存在内存问题、死锁等问题。一切正常。我正在覆盖 GlobalSettings 中的 onStop 方法并记录如下消息:
override def onStop(app: Application) {
Logger.info("Application is shutting shutdown...ByeBye")
}
在日志中,这是我在关机前看到的所有内容:
2015-05-27 00:36:54,515 - [INFO] - from application in **Thread-4**
Application is shutting shutdown...ByeBye
出于某种原因,它总是来自 Thread-4。 我有 DEBUG 级别的日志,我没有看到任何可能引发任何危险信号的异常或消息。似乎有什么东西正在终止应用程序或发送停止信号。我无法确定这次关机的原因。除了我的应用程序之外,没有任何内容被记录到/var/log/messages 或任何其他日志。 有什么想法可以让我理解应用程序停止的原因吗?
我的申请的一些细节: 它非常简单,它公开了一个 REST API。我正在使用“dist”命令构建一个二进制文件及其所有依赖项。我是这样开始的:
/path/to/binary -Dhttp.port=5000 -J-Xmx32g -Dconfig.resource=application_prod.conf
谢谢。
最佳答案
有一个 known issue providing java opts via -J
parameter .请尝试使用 JAVA_OPTS="-Xmx32g"./activator
。
执行此操作后,检查您的运行进程列表以确认 java opts 是否真的存在。
关于java - Play Framework 2.3.x scala - 应用程序无异常关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30586622/