JavaとHibernate/SpringでPlay Framework 2.3.4を使用しています。 それは数日間生産で正常に動作し、その後、突然、この処理が行われますので、Play Framework呼び出しコントローラが原因でファイルが多すぎますエラー
java.io.FileNotFoundException: /opt/psldata-api-1.0.0/app/controllers/APIController.java (Too many open files)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at play.utils.PlayIO$.readFileAsString(PlayIO.scala:63)
at play.api.Application$$anon$1$$anonfun$input$2.apply(Application.scala:302)
at play.api.Application$$anon$1$$anonfun$input$2.apply(Application.scala:302)
at scala.Option.map(Option.scala:145)
at play.api.Application$$anon$1.input(Application.scala:302)
at play.api.PlayException$ExceptionSource.interestingLines(PlayException.java:81)
at views.html.defaultpages.devError$$anonfun$apply$1.apply(devError.template.scala:157)
at views.html.defaultpages.devError$$anonfun$apply$1.apply(devError.template.scala:142)
at scala.Option.map(Option.scala:145)
at views.html.defaultpages.devError$.apply(devError.template.scala:142)
at play.api.GlobalSettings$$anonfun$devError$1$1.apply(GlobalSettings.scala:141)
at play.api.GlobalSettings$$anonfun$devError$1$1.apply(GlobalSettings.scala:141)
at play.api.GlobalSettings$class.onError(GlobalSettings.scala:147)
at play.core.j.JavaGlobalSettingsAdapter.play$core$j$JavaGlobalSettingsAdapter$$super$onError(JavaGlobalSettingsAdapter.scala:36)
at play.core.j.JavaGlobalSettingsAdapter$$anonfun$onError$2.apply(JavaGlobalSettingsAdapter.scala:36)
at play.core.j.JavaGlobalSettingsAdapter$$anonfun$onError$2.apply(JavaGlobalSettingsAdapter.scala:36)
at scala.Option.getOrElse(Option.scala:120)
at play.core.j.JavaGlobalSettingsAdapter.onError(JavaGlobalSettingsAdapter.scala:36)
at play.api.Application$class.handleError(Application.scala:319)
at play.api.DefaultApplication.handleError(Application.scala:402)
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320)
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320)
at scala.Option.map(Option.scala:145)
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:320)
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:316)
at scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:344)
at scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:343)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:46)
at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40)
at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248)
at scala.concurrent.Promise$class.complete(Promise.scala:55)
at scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:23)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
:次に
java.net.SocketException: Too many open files
at java.net.Socket.createImpl(Socket.java:460)
at java.net.Socket.getImpl(Socket.java:520)
at java.net.Socket.setTcpNoDelay(Socket.java:980)
at com.mysql.jdbc.StandardSocketFactory.configureSocket(StandardSocketFactory.java:134)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:205)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:297)
... 75 more
これらのいくつか:
java.io.FileNotFoundException: /opt/psldata-api-1.0.0/app/controllers/StatsController.java (Too many open files)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at play.utils.PlayIO$.readFileAsString(PlayIO.scala:63)
at play.api.Application$$anon$1$$anonfun$input$2.apply(Application.scala:302)
at play.api.Application$$anon$1$$anonfun$input$2.apply(Application.scala:302)
at scala.Option.map(Option.scala:145)
at play.api.Application$$anon$1.input(Application.scala:302)
at play.api.PlayException$ExceptionSource.interestingLines(PlayException.java:81)
at views.html.defaultpages.devError$$anonfun$apply$1.apply(devError.template.scala:157)
at views.html.defaultpages.devError$$anonfun$apply$1.apply(devError.template.scala:142)
at scala.Option.map(Option.scala:145)
at views.html.defaultpages.devError$.apply(devError.template.scala:142)
at play.api.GlobalSettings$$anonfun$devError$1$1.apply(GlobalSettings.scala:141)
at play.api.GlobalSettings$$anonfun$devError$1$1.apply(GlobalSettings.scala:141)
at play.api.GlobalSettings$class.onError(GlobalSettings.scala:147)
at play.core.j.JavaGlobalSettingsAdapter.play$core$j$JavaGlobalSettingsAdapter$$super$onError(JavaGlobalSettingsAdapter.scala:36)
at play.core.j.JavaGlobalSettingsAdapter$$anonfun$onError$2.apply(JavaGlobalSettingsAdapter.scala:36)
at play.core.j.JavaGlobalSettingsAdapter$$anonfun$onError$2.apply(JavaGlobalSettingsAdapter.scala:36)
at scala.Option.getOrElse(Option.scala:120)
at play.core.j.JavaGlobalSettingsAdapter.onError(JavaGlobalSettingsAdapter.scala:36)
at play.api.Application$class.handleError(Application.scala:319)
at play.api.DefaultApplication.handleError(Application.scala:402)
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320)
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320)
at scala.Option.map(Option.scala:145)
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:320)
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:316)
at scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:344)
at scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:343)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:46)
at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40)
at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248)
at scala.concurrent.Promise$class.complete(Promise.scala:55)
at scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:23)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
そして、これらのいくつか基本的には、アプリケーションを再起動するまでは、すべてこのエラーが発生します。メモリリークのように思えるかもしれませんが、何かが適切に閉じられていないのですが、何ができるか分かりません。誰もこのエラーを以前に持っていましたか?ありがとう。
'lsof | grep |あなたはplay proccessファイルで開いているすべてを見ることができます。 –
MipH