Ensure that at most 1 CometSupport is created per servlet. and remove boiler
This commit is contained in:
parent
5091f0a187
commit
8525f18ee1
1 changed files with 11 additions and 11 deletions
|
|
@ -83,21 +83,21 @@ class AkkaServlet extends AtmosphereServlet with Logging {
|
|||
addAtmosphereHandler("/*", servlet, new AkkaBroadcaster)
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* This method is overridden because Akka Kernel is bundles with Grizzly, so if we deploy the Kernel in another container,
|
||||
* we need to handle that.
|
||||
*/
|
||||
override def createCometSupportResolver() : CometSupportResolver = {
|
||||
import scala.collection.JavaConversions._
|
||||
lazy val akkaCometResolver: CometSupportResolver = {
|
||||
import scala.collection.JavaConversions._
|
||||
|
||||
new DefaultCometSupportResolver(config) {
|
||||
type CS = CometSupport[_ <: AtmosphereResource[_,_]]
|
||||
new DefaultCometSupportResolver(config) {
|
||||
lazy val desiredCometSupport =
|
||||
Option(config.getInitParameter("cometSupport")) filter testClassExists map newCometSupport
|
||||
|
||||
override def resolve(useNativeIfPossible : Boolean, useBlockingAsDefault : Boolean) : CS = {
|
||||
val predef = config.getInitParameter("cometSupport")
|
||||
if (testClassExists(predef)) newCometSupport(predef)
|
||||
else super.resolve(useNativeIfPossible, useBlockingAsDefault)
|
||||
}
|
||||
}
|
||||
override def resolve(useNativeIfPossible : Boolean, useBlockingAsDefault : Boolean) : CometSupport[_ <: AtmosphereResource[_,_]] =
|
||||
desiredCometSupport.getOrElse(super.resolve(useNativeIfPossible, useBlockingAsDefault))
|
||||
}
|
||||
}
|
||||
|
||||
override def createCometSupportResolver() = akkaCometResolver
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue