Updating Atmosphere to 0.6.2 and switching to using SimpleBroadcaster
This commit is contained in:
parent
21c2f85c36
commit
6f11ce032d
2 changed files with 12 additions and 8 deletions
|
|
@ -5,23 +5,27 @@
|
||||||
package se.scalablesolutions.akka.comet
|
package se.scalablesolutions.akka.comet
|
||||||
|
|
||||||
import org.atmosphere.cpr.{AtmosphereResourceEvent, AtmosphereResource}
|
import org.atmosphere.cpr.{AtmosphereResourceEvent, AtmosphereResource}
|
||||||
|
|
||||||
import se.scalablesolutions.akka.actor.Actor._
|
import se.scalablesolutions.akka.actor.Actor._
|
||||||
import se.scalablesolutions.akka.actor.Actor
|
import se.scalablesolutions.akka.actor.Actor
|
||||||
import se.scalablesolutions.akka.dispatch.Dispatchers
|
import se.scalablesolutions.akka.dispatch.Dispatchers
|
||||||
|
import org.atmosphere.jersey.util.JerseyBroadcasterUtil
|
||||||
|
|
||||||
object AkkaBroadcaster {
|
object AkkaBroadcaster {
|
||||||
val broadcasterDispatcher = Dispatchers.fromConfig("akka.rest.comet-dispatcher")
|
val broadcasterDispatcher = Dispatchers.fromConfig("akka.rest.comet-dispatcher")
|
||||||
|
|
||||||
|
type Event = AtmosphereResourceEvent[_,_]
|
||||||
|
type Resource = AtmosphereResource[_,_]
|
||||||
}
|
}
|
||||||
|
|
||||||
class AkkaBroadcaster extends org.atmosphere.jersey.JerseyBroadcaster {
|
class AkkaBroadcaster extends org.atmosphere.jersey.util.JerseySimpleBroadcaster {
|
||||||
import AkkaBroadcaster._
|
import AkkaBroadcaster._
|
||||||
name = classOf[AkkaBroadcaster].getName
|
|
||||||
|
|
||||||
//FIXME should be supervised
|
//FIXME should be supervised
|
||||||
val caster = actorOf(new Actor {
|
lazy val caster = actorOf(new Actor {
|
||||||
self.dispatcher = broadcasterDispatcher
|
self.dispatcher = broadcasterDispatcher
|
||||||
def receive = {
|
def receive = {
|
||||||
case f : Function0[_] => f()
|
case (r: Resource,e: Event) => JerseyBroadcasterUtil.broadcast(r,e)
|
||||||
}
|
}
|
||||||
}).start
|
}).start
|
||||||
|
|
||||||
|
|
@ -30,7 +34,7 @@ class AkkaBroadcaster extends org.atmosphere.jersey.JerseyBroadcaster {
|
||||||
caster.stop
|
caster.stop
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override def broadcast(r : AtmosphereResource[_,_], e : AtmosphereResourceEvent[_,_]) = {
|
protected override def broadcast(r: Resource, e : Event) {
|
||||||
caster ! (() => super.broadcast(r,e))
|
caster ! ((r,e))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -91,7 +91,7 @@ class AkkaParentProject(info: ProjectInfo) extends DefaultProject(info) {
|
||||||
// Versions
|
// Versions
|
||||||
// -------------------------------------------------------------------------------------------------------------------
|
// -------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
lazy val ATMO_VERSION = "0.6.1"
|
lazy val ATMO_VERSION = "0.6.2"
|
||||||
lazy val CAMEL_VERSION = "2.4.0"
|
lazy val CAMEL_VERSION = "2.4.0"
|
||||||
lazy val CASSANDRA_VERSION = "0.6.1"
|
lazy val CASSANDRA_VERSION = "0.6.1"
|
||||||
lazy val DISPATCH_VERSION = "0.7.4"
|
lazy val DISPATCH_VERSION = "0.7.4"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue