Java Play Framework 2.3.x scala-应用程序无一例外地关闭

Java Play Framework 2.3.x scala-应用程序无一例外地关闭,java,scala,unix,playframework,jvm,Java,Scala,Unix,Playframework,Jvm,我有一个play framework 2.3应用程序。当我在开发或生产模式下将其部署到本地机器时,它工作得非常好。但是,当我部署到另一台服务器(Red Hat Enterprise Linux server release 6.2,Santiago)时,大约2小时后应用程序就会关闭。 在多次分析应用程序之后,我得出结论,没有内存问题、死锁等。一切正常。我正在覆盖GlobalSettings中的onStop方法,并记录如下消息: override def onStop(app: Applicat

我有一个play framework 2.3应用程序。当我在开发或生产模式下将其部署到本地机器时,它工作得非常好。但是,当我部署到另一台服务器(Red Hat Enterprise Linux server release 6.2,Santiago)时,大约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
出于某种原因,它总是来自线程4。 我有调试级别的日志,我没有看到任何异常或可能引起任何危险信号的消息。似乎有什么东西正在终止应用程序或发送停止信号。我无法确定这次关闭的原因。除了我的应用程序之外,没有任何东西被记录到/var/log/messages或任何其他日志中。 有什么想法可以让我理解为什么应用程序会停止

我的申请的一些细节: 它非常简单,它公开了一个RESTAPI。我正在使用'dist'命令构建一个二进制文件及其所有依赖项。我是这样开始的:

/path/to/binary -Dhttp.port=5000  -J-Xmx32g -Dconfig.resource=application_prod.conf
多谢各位

有一个。请尝试
JAVA_OPTS=“-Xmx32g”。/activator

完成此操作后,请检查正在运行的进程列表,以确认java选项是否确实存在。

如果您一直通过ssh从终端启动应用程序,一段时间后,ssh会话可能会终止,并且应用程序进程会连接到会话进程,
我通过nohup执行start命令来解决这个问题,这样进程将不再是交互式的,并将日志输出到指定的文件,而不是终端。显然,在调试模式下运行时,终端出现了类似的问题(“run”命令而不是“start”,用于生产)它通常在4秒钟后无一例外地关闭。切换到生产模式解决了我的问题。

您确定最大堆大小的32 Gig可以吗?是的,可以。我部署的服务器有数百个可用RAM,我的应用程序使用的内存远远少于32gb。我分析了一下,发现内存很好,这不是关机的原因。我也面临着同样的问题。在我的例子中,我甚至不知道为什么服务器会被关闭,而覆盖的方法
onStop
不会被调用。你在游戏应用程序中使用akka吗?