Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
避免akka终止webapp JVM进程_Akka_Playframework 2.3 - Fatal编程技术网

避免akka终止webapp JVM进程

避免akka终止webapp JVM进程,akka,playframework-2.3,Akka,Playframework 2.3,当发生意外异常时,如何避免Akka终止JVM进程?。我认为这是一个大问题 Akka永远不应该杀死我的webapp的jvm进程 我正在使用play framework 2.3 用例: Uncaught error from thread [SuperActorSystem-akka.actor.default-dispatcher-5] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled java.lang.Excep

当发生意外异常时,如何避免Akka终止JVM进程?。我认为这是一个大问题

Akka永远不应该杀死我的webapp的jvm进程

我正在使用play framework 2.3

用例:

Uncaught error from thread [SuperActorSystem-akka.actor.default-dispatcher-5] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled
java.lang.ExceptionInInitializerError
    at actors.SMSSenderActor$$anonfun$receive$1.applyOrElse(SMSSenderActor.scala:40)
    at akka.actor.Actor$class.aroundReceive(Actor.scala:465)
    at actors.SMSSenderActor.aroundReceive(SMSSenderActor.scala:14)
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
    at akka.actor.ActorCell.invoke(ActorCell.scala:487)
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)
    at akka.dispatch.Mailbox.run(Mailbox.scala:220)
    at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: java.util.NoSuchElementException: None.get
    at scala.None$.get(Option.scala:322)
    at scala.None$.get(Option.scala:320)
    at gcm.GCMUtil$.initializeCCS(GCMUtil.scala:15)
    at gcm.GCMUtil$.<init>(GCMUtil.scala:10)
    at gcm.GCMUtil$.<clinit>(GCMUtil.scala)
    ... 12 more


    at actors.SMSSenderActor.aroundReceive(SMSSenderActor.scala:14)
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
    at akka.actor.ActorCell.invoke(ActorCell.scala:487)
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)
    at akka.dispatch.Mailbox.run(Mailbox.scala:220)
    at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: java.util.NoSuchElementException: None.get
    at scala.None$.get(Option.scala:322)
    at scala.None$.get(Option.scala:320)
    at gcm.GCMUtil$.initializeCCS(GCMUtil.scala:15)
    at gcm.GCMUtil$.<init>(GCMUtil.scala:10)
    at gcm.GCMUtil$.<clinit>(GCMUtil.scala)
线程[supercorSystem akka.actor.default-dispatcher-5]出现未捕获错误,正在关闭JVM,因为启用了“akka.JVM退出致命错误”
java.lang.ExceptionInInitializeError
在actors.SMSSenderActor$$anonfun$receive$1.applyOrElse(SMSSenderActor.scala:40)
在akka.actor.actor$class.aroundReceive(actor.scala:465)
在actors.SMSSenderActor.aroundReceive(SMSSenderActor.scala:14)
在akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
在akka.actor.ActorCell.invoke(ActorCell.scala:487)
在akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)
在akka.dispatch.Mailbox.run(Mailbox.scala:220)
在akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)
位于scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
位于scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
位于scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
在scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)中
原因:java.util.NoSuchElementException:None.get
位于scala.None$.get(Option.scala:322)
在scala.None$.get(Option.scala:320)
在gcm.GCMUtil$.InitializeCs(GCMUtil.scala:15)
gcm.GCMUtil$(GCMUtil.scala:10)
按gcm.GCMUtil$(GCMUtil.scala)计算
... 还有12个
在actors.SMSSenderActor.aroundReceive(SMSSenderActor.scala:14)
在akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
在akka.actor.ActorCell.invoke(ActorCell.scala:487)
在akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)
在akka.dispatch.Mailbox.run(Mailbox.scala:220)
在akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)
位于scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
位于scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
位于scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
在scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)中
原因:java.util.NoSuchElementException:None.get
位于scala.None$.get(Option.scala:322)
在scala.None$.get(Option.scala:320)
在gcm.GCMUtil$.InitializeCs(GCMUtil.scala:15)
gcm.GCMUtil$(GCMUtil.scala:10)
按gcm.GCMUtil$(GCMUtil.scala)计算

谢谢。

解决方案是在我的playframework应用程序的my application.conf中添加以下内容:

akka{  
    jvm-exit-on-fatal-error = off
}

这就是我可以在play应用程序中覆盖akka默认参数的方法。感谢大家。

您是否尝试在application.conf中设置
akka.jvm-exit-on-fatal-error=off
?Salem您应该将此作为答案发布。您还应该修复代码,这样您就不会调用
None.get
。我在我的conf中这样做了,但仍然存在错误。重头戏2.5仍然是这样吗?可能是akka.jvm在致命错误=false时退出