diff --git a/akka-actors/src/main/scala/actor/Actor.scala b/akka-actors/src/main/scala/actor/Actor.scala index 82f04a2d54..683d6dc3f7 100644 --- a/akka-actors/src/main/scala/actor/Actor.scala +++ b/akka-actors/src/main/scala/actor/Actor.scala @@ -7,6 +7,7 @@ package se.scalablesolutions.akka.actor import java.net.InetSocketAddress import se.scalablesolutions.akka.Config._ import se.scalablesolutions.akka.dispatch._ +import se.scalablesolutions.akka.config.{AllForOneStrategy, OneForOneStrategy, FaultHandlingStrategy} import se.scalablesolutions.akka.config.ScalaConfig._ import se.scalablesolutions.akka.stm.Transaction._ import se.scalablesolutions.akka.stm.TransactionManagement._ @@ -48,7 +49,8 @@ case class Restart(reason: AnyRef) extends LifeCycleMessage case class Exit(dead: Actor, killer: Throwable) extends LifeCycleMessage case object Kill extends LifeCycleMessage -class ActorKilledException private[akka] (val killed: Actor) extends RuntimeException("Actor [" + killed + "] was killed by a Kill message") +class ActorKilledException private[akka] (val killed: Actor) + extends RuntimeException("Actor [" + killed + "] was killed by a Kill message") sealed abstract class DispatcherType object DispatcherType { diff --git a/akka-actors/src/main/scala/actor/Scheduler.scala b/akka-actors/src/main/scala/actor/Scheduler.scala index 6266c17942..8205db5843 100644 --- a/akka-actors/src/main/scala/actor/Scheduler.scala +++ b/akka-actors/src/main/scala/actor/Scheduler.scala @@ -16,6 +16,7 @@ package se.scalablesolutions.akka.actor import java.util.concurrent._ import se.scalablesolutions.akka.config.ScalaConfig._ +import se.scalablesolutions.akka.config.{AllForOneStrategy, OneForOneStrategy, FaultHandlingStrategy} import se.scalablesolutions.akka.util.{Logging} import org.scala_tools.javautils.Imports._ diff --git a/akka-actors/src/main/scala/actor/Supervisor.scala b/akka-actors/src/main/scala/actor/Supervisor.scala index bc26a921af..7fa32cb4c9 100644 --- a/akka-actors/src/main/scala/actor/Supervisor.scala +++ b/akka-actors/src/main/scala/actor/Supervisor.scala @@ -5,17 +5,13 @@ package se.scalablesolutions.akka.actor import se.scalablesolutions.akka.config.ScalaConfig._ -import se.scalablesolutions.akka.config.{ConfiguratorRepository, Configurator} +import se.scalablesolutions.akka.config.{AllForOneStrategy, OneForOneStrategy, FaultHandlingStrategy, ConfiguratorRepository, Configurator} import se.scalablesolutions.akka.util.Helpers._ import se.scalablesolutions.akka.util.Logging import se.scalablesolutions.akka.dispatch.Dispatchers import java.util.concurrent.ConcurrentHashMap -sealed abstract class FaultHandlingStrategy -case class AllForOneStrategy(maxNrOfRetries: Int, withinTimeRange: Int) extends FaultHandlingStrategy -case class OneForOneStrategy(maxNrOfRetries: Int, withinTimeRange: Int) extends FaultHandlingStrategy - /** * Abstract base class for all supervisor factories. *
diff --git a/akka-actors/src/main/scala/config/Config.scala b/akka-actors/src/main/scala/config/Config.scala index 136725cadd..5cdbfdbb9b 100644 --- a/akka-actors/src/main/scala/config/Config.scala +++ b/akka-actors/src/main/scala/config/Config.scala @@ -7,6 +7,10 @@ package se.scalablesolutions.akka.config import se.scalablesolutions.akka.actor.Actor import se.scalablesolutions.akka.dispatch.MessageDispatcher +sealed abstract class FaultHandlingStrategy +case class AllForOneStrategy(maxNrOfRetries: Int, withinTimeRange: Int) extends FaultHandlingStrategy +case class OneForOneStrategy(maxNrOfRetries: Int, withinTimeRange: Int) extends FaultHandlingStrategy + /** * Configuration classes - not to be used as messages. * diff --git a/akka-actors/src/main/scala/dispatch/ExecutorBasedEventDrivenDispatcher.scala b/akka-actors/src/main/scala/dispatch/ExecutorBasedEventDrivenDispatcher.scala index 3c85d1349c..1bb29f7a3a 100644 --- a/akka-actors/src/main/scala/dispatch/ExecutorBasedEventDrivenDispatcher.scala +++ b/akka-actors/src/main/scala/dispatch/ExecutorBasedEventDrivenDispatcher.scala @@ -66,6 +66,9 @@ class ExecutorBasedEventDrivenDispatcher(_name: String) extends MessageDispatche else message.invoke } + // FIXME try this + // val queue = Collections.synchronizedList(new LinkedList[MessageInvocation]) + def dispatch(invocation: MessageInvocation) = if (active) { executor.execute(new Runnable() { def run = { diff --git a/akka-amqp/src/main/scala/AMQP.scala b/akka-amqp/src/main/scala/AMQP.scala index d2144b31f6..14c2b742ef 100644 --- a/akka-amqp/src/main/scala/AMQP.scala +++ b/akka-amqp/src/main/scala/AMQP.scala @@ -7,7 +7,8 @@ package se.scalablesolutions.akka.amqp import com.rabbitmq.client.{AMQP => RabbitMQ, _} import com.rabbitmq.client.ConnectionFactory -import se.scalablesolutions.akka.actor.{OneForOneStrategy, Actor} +import se.scalablesolutions.akka.actor.Actor +import se.scalablesolutions.akka.config.OneForOneStrategy import se.scalablesolutions.akka.config.ScalaConfig._ import se.scalablesolutions.akka.util.{HashCode, Logging}