Comet support added.
This commit is contained in:
parent
3adb704c40
commit
8dd626f44b
74 changed files with 16 additions and 2493 deletions
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue