diff --git a/akka-actors/src/main/scala/actor/Actor.scala b/akka-actors/src/main/scala/actor/Actor.scala
index af185ba6fc..c5d13b73f8 100644
--- a/akka-actors/src/main/scala/actor/Actor.scala
+++ b/akka-actors/src/main/scala/actor/Actor.scala
@@ -19,17 +19,19 @@ import se.scalablesolutions.akka.serialization.Serializer
import se.scalablesolutions.akka.util.Helpers.ReadWriteLock
import se.scalablesolutions.akka.util.Logging
-import org.codehaus.aspectwerkz.joinpoint.{MethodRtti, JoinPoint}
import org.codehaus.aspectwerkz.proxy.Uuid
import org.multiverse.utils.ThreadLocalTransaction._
-sealed abstract class LifecycleMessage
+@serializable sealed abstract class LifecycleMessage
case class Init(config: AnyRef) extends LifecycleMessage
-//case object TransactionalInit extends LifecycleMessage
case class HotSwap(code: Option[PartialFunction[Any, Unit]]) extends LifecycleMessage
case class Restart(reason: AnyRef) extends LifecycleMessage
case class Exit(dead: Actor, killer: Throwable) extends LifecycleMessage
+case class Kill(killer: Actor) extends LifecycleMessage
+//case object TransactionalInit extends LifecycleMessage
+
+class ActorKilledException(val killed: Actor, val killer: Actor) extends RuntimeException("Actor [" + killed + "] killed by [" + killer + "]")
sealed abstract class DispatcherType
object DispatcherType {
@@ -610,6 +612,7 @@ trait Actor extends Logging with TransactionManagement {
case HotSwap(code) => _hotswap = code
case Restart(reason) => restart(reason)
case Exit(dead, reason) => handleTrapExit(dead, reason)
+ case Kill(killer) => throw new ActorKilledException(this, killer)
// case TransactionalInit => initTransactionalState
}
@@ -698,5 +701,5 @@ trait Actor extends Logging with TransactionManagement {
} else message
} else message
- override def toString(): String = "Actor[" + uuid + ":" + id + "]"
+ override def toString(): String = "Actor[" + id+ ":" + uuid + "]"
}
diff --git a/akka-actors/src/main/scala/actor/ActorRegistry.scala b/akka-actors/src/main/scala/actor/ActorRegistry.scala
index 9e87562d4a..fc40a9003a 100755
--- a/akka-actors/src/main/scala/actor/ActorRegistry.scala
+++ b/akka-actors/src/main/scala/actor/ActorRegistry.scala
@@ -13,7 +13,7 @@ import scala.collection.mutable.HashMap
*
* @author Jonas Bonér
*/
-object ActorRegistry extends Logging {
+object ActorRegistry {
private val actorsByClassName = new HashMap[String, List[Actor]]
private val actorsById = new HashMap[String, List[Actor]]
diff --git a/akka.iws b/akka.iws
index 609101c2e2..35bc892876 100644
--- a/akka.iws
+++ b/akka.iws
@@ -7,8 +7,6 @@
-
-
@@ -106,10 +104,10 @@
-
+
-
+
@@ -133,15 +131,6 @@
-
-
-
-
-
-
-
-
-
@@ -228,32 +217,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -664,26 +627,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
-
+
-
-
+
+
@@ -695,13 +684,13 @@
-
+
-
+
@@ -857,14 +846,6 @@
-
-
-
-
-
-
-
-
@@ -896,6 +877,14 @@
+
+
+
+
+
+
+
+
@@ -1165,6 +1154,7 @@
+
@@ -1177,7 +1167,6 @@
-
@@ -1278,9 +1267,9 @@
-
+
-
+
@@ -1292,16 +1281,16 @@
-
+
-
+
-
+
-
+