renamed ..comet.AkkaCometServlet to ..comet.AkkaServlet
This commit is contained in:
parent
600565773d
commit
ed233e4318
6 changed files with 69 additions and 65 deletions
|
|
@ -25,6 +25,11 @@
|
|||
<groupId>${project.groupId}</groupId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<!--dependency>
|
||||
<groupId>com.rabbitmq</groupId>
|
||||
<artifactId>amqp-client</artifactId>
|
||||
<version>1.7.0</version>
|
||||
</dependency-->
|
||||
<dependency>
|
||||
<groupId>com.rabbitmq</groupId>
|
||||
<artifactId>rabbitmq-client</artifactId>
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
* <p/>
|
||||
* 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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -31,17 +31,17 @@ class RemoteActorSpecActorBidirectional extends Actor {
|
|||
}
|
||||
}
|
||||
|
||||
case class Send(actor:Actor)
|
||||
case class Send(actor: Actor)
|
||||
|
||||
class RemoteActorSpecActorAsyncSender extends Actor {
|
||||
def receive = {
|
||||
case Send(actor:Actor) =>
|
||||
case Send(actor: Actor) =>
|
||||
actor ! "Hello"
|
||||
case "World" =>
|
||||
Global.remoteReply = "replied"
|
||||
}
|
||||
|
||||
def send(actor:Actor) {
|
||||
def send(actor: Actor) {
|
||||
this ! Send(actor)
|
||||
}
|
||||
}
|
||||
|
|
@ -54,8 +54,8 @@ 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() {
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -111,12 +111,12 @@ class RemoteActorTest extends JUnitSuite {
|
|||
sender.setContactAddress(HOSTNAME, PORT1)
|
||||
sender.start
|
||||
sender.send(actor)
|
||||
Thread.sleep(500)
|
||||
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.
|
||||
|
|
@ -135,7 +135,7 @@ class RemoteActorTest extends JUnitSuite {
|
|||
assert("exception" === Global.remoteReply)
|
||||
actor.stop
|
||||
}
|
||||
*/
|
||||
*/
|
||||
@Test
|
||||
def shouldSendReceiveException = {
|
||||
implicit val timeout = 500000000L
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -26,7 +26,9 @@ object Kernel extends Logging {
|
|||
|
||||
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
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue