From 54960f7e7d3d974f3ce70ffa0947cc6b6352aa69 Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Sun, 12 Jun 2011 20:21:40 +0200 Subject: [PATCH] Fixing ticket #916, adding a catch-all logger for exceptions around message processing --- .../main/scala/akka/remote/netty/NettyRemoteSupport.scala | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/akka-remote/src/main/scala/akka/remote/netty/NettyRemoteSupport.scala b/akka-remote/src/main/scala/akka/remote/netty/NettyRemoteSupport.scala index 89bd904c39..35019c1c8e 100644 --- a/akka-remote/src/main/scala/akka/remote/netty/NettyRemoteSupport.scala +++ b/akka-remote/src/main/scala/akka/remote/netty/NettyRemoteSupport.scala @@ -879,9 +879,13 @@ class RemoteServerHandler( case _ ⇒ None } - private def handleRemoteMessageProtocol(request: RemoteMessageProtocol, channel: Channel) = { + private def handleRemoteMessageProtocol(request: RemoteMessageProtocol, channel: Channel) = try { EventHandler.debug(this, "Received remote message [%s]".format(request)) dispatchToActor(request, channel) + } catch { + case e: Exception ⇒ + server.notifyListeners(RemoteServerError(e, server)) + EventHandler.error(e, this, e.getMessage) } private def dispatchToActor(request: RemoteMessageProtocol, channel: Channel) {