Comet support added.

This commit is contained in:
Viktor Klang 2009-07-29 19:57:32 +02:00
parent 3adb704c40
commit 8dd626f44b
74 changed files with 16 additions and 2493 deletions

View file

@ -5,6 +5,7 @@
package se.scalablesolutions.akka.kernel.jersey
import kernel.Kernel
import util.Logging
import javax.ws.rs.core.Context
import com.sun.jersey.core.spi.component.ioc.{IoCComponentProvider,IoCComponentProviderFactory}
@ -14,10 +15,11 @@ import config.Configurator
class ActorComponentProviderFactory(val configurators: List[Configurator])
extends IoCComponentProviderFactory {
extends IoCComponentProviderFactory with Logging {
override def getComponentProvider(clazz: Class[_]): IoCComponentProvider = getComponentProvider(null, clazz)
override def getComponentProvider(context: ComponentContext, clazz: Class[_]): IoCComponentProvider = {
//log.info("ProviderFactory: resolve => " + clazz.getName)
configurators.find(_.isDefined(clazz)).map(_ => new ActorComponentProvider(clazz, configurators)).getOrElse(null)
}
}

View file

@ -36,7 +36,7 @@ class AkkaServlet extends ServletContainer with AtmosphereServletProcessor with
Kernel.boot // will boot if not already booted by 'main'
val configurators = ConfiguratorRepository.getConfiguratorsFor(getServletContext)
rc.getClasses.addAll(configurators.flatMap(_.getComponentInterfaces))
rc.getProperties.put("com.sun.jersey.spi.container.ResourceFilters","org.atmosphere.core.AtmosphereFilter")
//rc.getFeatures.put("com.sun.jersey.config.feature.Redirect", true)
@ -50,7 +50,7 @@ class AkkaServlet extends ServletContainer with AtmosphereServletProcessor with
{
//log.info("onMessage: " + event.getMessage.toString)
if(event.getMessage != null)
if(event.getMessage ne null)
{
var isUsingStream = false
try {
@ -92,9 +92,9 @@ class AkkaCometServlet extends org.atmosphere.cpr.AtmosphereServlet
{
override def init(sconf : ServletConfig) = {
val servlet = new AkkaServlet
this.config = new AtmosphereConfig
this.config = new AtmosphereConfig { ah = servlet }
atmosphereHandlers.put("", new AtmosphereHandlerWrapper(servlet,new JerseyBroadcaster))
atmosphereHandlers.put("", new AtmosphereHandlerWrapper(servlet,new DefaultBroadcaster))
setCometSupport(new GrizzlyCometSupport(config))
getCometSupport.init(sconf)