diff --git a/akka-amqp/pom.xml b/akka-amqp/pom.xml
index d03ecad3e0..cacd9844bf 100644
--- a/akka-amqp/pom.xml
+++ b/akka-amqp/pom.xml
@@ -25,6 +25,11 @@
${project.groupId}
${project.version}
+
com.rabbitmq
rabbitmq-client
diff --git a/akka-comet/src/main/scala/AkkaCometServlet.scala b/akka-comet/src/main/scala/AkkaServlet.scala
similarity index 87%
rename from akka-comet/src/main/scala/AkkaCometServlet.scala
rename to akka-comet/src/main/scala/AkkaServlet.scala
index 9b8fa06306..1dadd2fbf3 100755
--- a/akka-comet/src/main/scala/AkkaCometServlet.scala
+++ b/akka-comet/src/main/scala/AkkaServlet.scala
@@ -4,27 +4,26 @@
package se.scalablesolutions.akka.comet
-import se.scalablesolutions.akka.rest.AkkaServlet
import se.scalablesolutions.akka.util.Logging
+import se.scalablesolutions.akka.rest.{AkkaServlet => RestServlet}
import java.util.{List => JList}
-
-import javax.servlet.{ServletConfig}
+import javax.servlet.ServletConfig
import javax.servlet.http.{HttpServletRequest, HttpServletResponse}
-import org.atmosphere.container.{GrizzlyCometSupport}
+
+import org.atmosphere.container.GrizzlyCometSupport
import org.atmosphere.cpr.{AtmosphereServlet, AtmosphereServletProcessor, AtmosphereResource, AtmosphereResourceEvent,CometSupport,CometSupportResolver,DefaultCometSupportResolver}
import org.atmosphere.handler.{ReflectorServletProcessor, AbstractReflectorAtmosphereHandler}
import org.atmosphere.jersey.JerseyBroadcaster
-
/**
* Akka's Comet servlet to be used when deploying actors exposed as Comet (and REST) services in a
* standard servlet container, e.g. not using the Akka Kernel.
*
* Used by the Akka Kernel to bootstrap REST and Comet.
*/
-class AkkaCometServlet extends org.atmosphere.cpr.AtmosphereServlet with Logging {
- val servlet = new AkkaServlet with AtmosphereServletProcessor {
+class AkkaServlet extends org.atmosphere.cpr.AtmosphereServlet with Logging {
+ val servlet = new RestServlet with AtmosphereServletProcessor {
//Delegate to implement the behavior for AtmosphereHandler
private val handler = new AbstractReflectorAtmosphereHandler {
@@ -74,10 +73,8 @@ class AkkaCometServlet extends org.atmosphere.cpr.AtmosphereServlet with Logging
override def resolve(useNativeIfPossible : Boolean, useBlockingAsDefault : Boolean) : CS = {
val predef = config.getInitParameter("cometSupport")
- if(testClassExists(predef))
- newCometSupport(predef)
- else
- super.resolve(useNativeIfPossible, useBlockingAsDefault)
+ if (testClassExists(predef)) newCometSupport(predef)
+ else super.resolve(useNativeIfPossible, useBlockingAsDefault)
}
}
}
diff --git a/akka-comet/src/main/scala/BootableCometActorService.scala b/akka-comet/src/main/scala/BootableCometActorService.scala
index 67d85ea1cc..38e8a9c2c3 100644
--- a/akka-comet/src/main/scala/BootableCometActorService.scala
+++ b/akka-comet/src/main/scala/BootableCometActorService.scala
@@ -39,7 +39,7 @@ trait BootableCometActorService extends Bootable with Logging {
val adapter = new ServletAdapter
adapter.setHandleStaticResources(true)
- adapter.setServletInstance(new AkkaCometServlet)
+ adapter.setServletInstance(new AkkaServlet)
adapter.setContextPath(uri.getPath)
//Using autodetection for now
//adapter.addInitParameter("cometSupport", "org.atmosphere.container.GrizzlyCometSupport")
diff --git a/akka-core/src/test/scala/RemoteActorTest.scala b/akka-core/src/test/scala/RemoteActorTest.scala
index e79b5cdd72..6bb5d8e689 100644
--- a/akka-core/src/test/scala/RemoteActorTest.scala
+++ b/akka-core/src/test/scala/RemoteActorTest.scala
@@ -10,7 +10,7 @@ import se.scalablesolutions.akka.remote.{RemoteServer, RemoteClient}
import se.scalablesolutions.akka.dispatch.Dispatchers
object Global {
- var oneWay = "nada"
+ var oneWay = "nada"
var remoteReply = "nada"
}
class RemoteActorSpecActorUnidirectional extends Actor {
@@ -31,22 +31,22 @@ class RemoteActorSpecActorBidirectional extends Actor {
}
}
-case class Send(actor:Actor)
+case class Send(actor: Actor)
class RemoteActorSpecActorAsyncSender extends Actor {
def receive = {
- case Send(actor:Actor) =>
- actor ! "Hello"
- case "World" =>
- Global.remoteReply = "replied"
+ case Send(actor: Actor) =>
+ actor ! "Hello"
+ case "World" =>
+ Global.remoteReply = "replied"
}
- def send(actor:Actor) {
+ def send(actor: Actor) {
this ! Send(actor)
}
}
-class RemoteActorTest extends JUnitSuite {
+class RemoteActorTest extends JUnitSuite {
import Actor.Sender.Self
akka.Config.config
@@ -54,17 +54,17 @@ class RemoteActorTest extends JUnitSuite {
val HOSTNAME = "localhost"
val PORT1 = 9990
val PORT2 = 9991
- var s1:RemoteServer = null
- var s2:RemoteServer = null
+ var s1: RemoteServer = null
+ var s2: RemoteServer = null
@Before
def init() {
- s1 = new RemoteServer()
- s2 = new RemoteServer()
+ s1 = new RemoteServer()
+ s2 = new RemoteServer()
- s1.start(HOSTNAME, PORT1)
- s2.start(HOSTNAME, PORT2)
- Thread.sleep(1000)
+ s1.start(HOSTNAME, PORT1)
+ s2.start(HOSTNAME, PORT2)
+ Thread.sleep(1000)
}
private val unit = TimeUnit.MILLISECONDS
@@ -73,10 +73,10 @@ class RemoteActorTest extends JUnitSuite {
// finished
@After
def finished() {
- s1.shutdown
- s2.shutdown
- RemoteClient.shutdownAll
- Thread.sleep(1000)
+ s1.shutdown
+ s2.shutdown
+ RemoteClient.shutdownAll
+ Thread.sleep(1000)
}
@Test
@@ -85,7 +85,7 @@ class RemoteActorTest extends JUnitSuite {
actor.makeRemote(HOSTNAME, PORT1)
actor.start
val result = actor ! "OneWay"
- Thread.sleep(100)
+ Thread.sleep(1000)
assert("received" === Global.oneWay)
actor.stop
}
@@ -107,35 +107,35 @@ class RemoteActorTest extends JUnitSuite {
actor.makeRemote(HOSTNAME, PORT2)
actor.start
- val sender = new RemoteActorSpecActorAsyncSender
- sender.setContactAddress(HOSTNAME, PORT1)
- sender.start
- sender.send(actor)
- Thread.sleep(500)
+ val sender = new RemoteActorSpecActorAsyncSender
+ sender.setContactAddress(HOSTNAME, PORT1)
+ sender.start
+ sender.send(actor)
+ Thread.sleep(1000)
assert("replied" === Global.remoteReply)
actor.stop
}
-/*
- This test does not throw an exception since the
- _contactAddress is always defined via the
- global configuration if not set explicitly.
-
- @Test
- def shouldSendRemoteReplyException = {
- implicit val timeout = 500000000L
- val actor = new RemoteActorSpecActorBidirectional
- actor.makeRemote(HOSTNAME, PORT1)
- actor.start
+ /*
+ This test does not throw an exception since the
+ _contactAddress is always defined via the
+ global configuration if not set explicitly.
- val sender = new RemoteActorSpecActorAsyncSender
- sender.start
- sender.send(actor)
- Thread.sleep(500)
- assert("exception" === Global.remoteReply)
- actor.stop
- }
-*/
+ @Test
+ def shouldSendRemoteReplyException = {
+ implicit val timeout = 500000000L
+ val actor = new RemoteActorSpecActorBidirectional
+ actor.makeRemote(HOSTNAME, PORT1)
+ actor.start
+
+ val sender = new RemoteActorSpecActorAsyncSender
+ sender.start
+ sender.send(actor)
+ Thread.sleep(500)
+ assert("exception" === Global.remoteReply)
+ actor.stop
+ }
+ */
@Test
def shouldSendReceiveException = {
implicit val timeout = 500000000L
diff --git a/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemNestedStateTest.java b/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemNestedStateTest.java
index de349fff9b..ae400d9382 100644
--- a/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemNestedStateTest.java
+++ b/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemNestedStateTest.java
@@ -76,9 +76,9 @@ public class InMemNestedStateTest extends TestCase {
nested.setVectorState("init"); // set init state
Thread.sleep(100);
stateful.success("testShouldNotRollbackStateForStatefulServerInCaseOfSuccess", "new state", nested); // transactionrequired
- Thread.sleep(1000);
+ Thread.sleep(100);
assertEquals("new state", stateful.getVectorState());
- Thread.sleep(1000);
+ Thread.sleep(100);
assertEquals("new state", nested.getVectorState());
}
diff --git a/akka-kernel/src/main/scala/Kernel.scala b/akka-kernel/src/main/scala/Kernel.scala
index 86f6226c5a..e555aa377b 100644
--- a/akka-kernel/src/main/scala/Kernel.scala
+++ b/akka-kernel/src/main/scala/Kernel.scala
@@ -5,11 +5,11 @@
package se.scalablesolutions.akka
import se.scalablesolutions.akka.comet.BootableCometActorService
-import se.scalablesolutions.akka.remote.{RemoteNode,BootableRemoteActorService}
+import se.scalablesolutions.akka.remote.BootableRemoteActorService
+import se.scalablesolutions.akka.actor.BootableActorLoaderService
import se.scalablesolutions.akka.util.Logging
-import se.scalablesolutions.akka.actor.{ActorRegistry,BootableActorLoaderService}
-import javax.servlet.{ServletContextListener,ServletContextEvent}
+import javax.servlet.{ServletContextListener, ServletContextEvent}
object Main {
def main(args: Array[String]) = Kernel.boot
@@ -25,13 +25,15 @@ object Kernel extends Logging {
@volatile private var hasBooted = false
private val startTime = System.currentTimeMillis
-
- //Bundles is what modules are to be loaded with the Kernel, this uses Jonas' AOP style mixin pattern
+
+ /**
+ * Bundles is what modules are to be loaded with the Kernel, this uses Jonas' AOP style mixin pattern.
+ */
object Bundles extends BootableActorLoaderService with BootableRemoteActorService with BootableCometActorService
/**
- * Boots up the Kernel.
- */
+ * Boots up the Kernel.
+ */
def boot: Unit = boot(true)
/**