diff --git a/akka-kernel/src/main/scala/AkkaServlet.scala b/akka-kernel/src/main/scala/AkkaServlet.scala index 23cda8140d..54bb195613 100755 --- a/akka-kernel/src/main/scala/AkkaServlet.scala +++ b/akka-kernel/src/main/scala/AkkaServlet.scala @@ -42,31 +42,34 @@ class AkkaServlet extends ServletContainer with Logging { } class AkkaCometServlet extends org.atmosphere.cpr.AtmosphereServlet { - override def init(sconf: ServletConfig) = { + + override def loadConfiguration(sc : ServletConfig) : Unit = { val servlet = new AkkaServlet with AtmosphereServletProcessor { //Delegate to implement the behavior for AtmosphereHandler private val handler = new AbstractReflectorAtmosphereHandler { override def onRequest(event: AtmosphereResource[HttpServletRequest, HttpServletResponse]) : Unit = { - event.getRequest.setAttribute(ReflectorServletProcessor.ATMOSPHERE_RESOURCE, event) - event.getRequest.setAttribute(ReflectorServletProcessor.ATMOSPHERE_HANDLER, this) - service(event.getRequest, event.getResponse) + if(event ne null) + { + event.getRequest.setAttribute(ReflectorServletProcessor.ATMOSPHERE_RESOURCE, event) + event.getRequest.setAttribute(ReflectorServletProcessor.ATMOSPHERE_HANDLER, this) + service(event.getRequest, event.getResponse) + } } } override def onStateChange(event : AtmosphereResourceEvent[HttpServletRequest, HttpServletResponse] ) { - handler onStateChange event + if(event ne null) + handler onStateChange event } override def onRequest(resource: AtmosphereResource[HttpServletRequest, HttpServletResponse]) { - handler onRequest resource + if(resource ne null) + handler onRequest resource } } - config = new AtmosphereConfig { ah = servlet } + atmosphereHandlers.put("/*", new AtmosphereHandlerWrapper(servlet, new JerseyBroadcaster)) - setCometSupport(new GrizzlyCometSupport(config)) - getCometSupport.init(sconf) - servlet.init(sconf) } override def loadAtmosphereDotXml(is: InputStream, urlc: URLClassLoader) = () //Hide it