Updated Akka to use JerseySimpleBroadcaster via AkkaBroadcaster

This commit is contained in:
Viktor Klang 2010-01-30 14:54:45 +01:00
parent 3041964859
commit b1d3267cc7
3 changed files with 10 additions and 10 deletions

View file

@ -0,0 +1,7 @@
/**
* Copyright (C) 2009-2010 Scalable Solutions AB <http://scalablesolutions.se>
*/
package se.scalablesolutions.akka.comet
class AkkaBroadcaster extends org.atmosphere.jersey.util.JerseySimpleBroadcaster

View file

@ -14,7 +14,6 @@ import javax.servlet.http.{HttpServletRequest, HttpServletResponse}
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
@ -51,8 +50,8 @@ class AkkaServlet extends org.atmosphere.cpr.AtmosphereServlet with Logging {
*/
override def loadConfiguration(sc: ServletConfig) {
config = new AtmosphereConfig { supportSession = false }
setDefaultBroadcasterClassName(classOf[JerseyBroadcaster].getName)
atmosphereHandlers.put("/*", new AtmosphereServlet.AtmosphereHandlerWrapper(servlet, new JerseyBroadcaster))
setDefaultBroadcasterClassName(classOf[AkkaBroadcaster].getName)
atmosphereHandlers.put("/*", new AtmosphereServlet.AtmosphereHandlerWrapper(servlet, new AkkaBroadcaster))
}
/**

View file

@ -132,13 +132,7 @@ class Chat extends Actor {
@Suspend
@GET
@Produces(Array("text/html"))
def suspend = {
val s = new StringBuilder
s append "<!-- "
for(i <- 1 to 10) s append "Comet is a programming technique that enables web servers to send data to the client without having any need for the client to request it. "
s append " -->"
s toString
}
def suspend = ()
def receive = {
case Chat(who, what, msg) => {