diff --git a/akka-fun-test-java/pom.xml b/akka-fun-test-java/pom.xml index 3a0fc927eb..f6e6a727b7 100644 --- a/akka-fun-test-java/pom.xml +++ b/akka-fun-test-java/pom.xml @@ -34,25 +34,25 @@ com.sun.jersey jersey-server - 1.1.3-ea + ${jersey.version} test com.sun.jersey jersey-json - 1.1.3-ea + ${jersey.version} test com.sun.jersey jersey-client - 1.1.3-ea + ${jersey.version} test com.sun.jersey jersey-atom - 1.1.3-ea + ${jersey.version} test diff --git a/akka-kernel/pom.xml b/akka-kernel/pom.xml index c07cf68748..3d0f0f9313 100755 --- a/akka-kernel/pom.xml +++ b/akka-kernel/pom.xml @@ -170,17 +170,17 @@ com.sun.jersey jersey-core - 1.1.3-ea + ${jersey.version} com.sun.jersey jersey-server - 1.1.3-ea + ${jersey.version} com.sun.jersey jersey-json - 1.1.3-ea + ${jersey.version} javax.ws.rs @@ -190,17 +190,22 @@ com.sun.jersey.contribs jersey-scala - 1.1.3-ea + ${jersey.version} + + + org.atmosphere + atmosphere-annotations + ${atmosphere.version} + + + org.atmosphere + atmosphere-jersey + ${atmosphere.version} org.atmosphere atmosphere-runtime - 0.4.1 - - - org.atmosphere - atmosphere-core - 0.4-SNAPSHOT + ${atmosphere.version} diff --git a/akka-kernel/src/main/scala/AkkaServlet.scala b/akka-kernel/src/main/scala/AkkaServlet.scala index f633835deb..5ca2d701ee 100755 --- a/akka-kernel/src/main/scala/AkkaServlet.scala +++ b/akka-kernel/src/main/scala/AkkaServlet.scala @@ -17,7 +17,7 @@ import javax.servlet.http.{HttpServletRequest, HttpServletResponse} import org.atmosphere.cpr.{AtmosphereServlet, AtmosphereServletProcessor, AtmosphereResource, AtmosphereResourceEvent,CometSupport} import org.atmosphere.handler.{ReflectorServletProcessor, AbstractReflectorAtmosphereHandler} -import org.atmosphere.core.JerseyBroadcaster +import org.atmosphere.jersey.JerseyBroadcaster /** * Akka's servlet to be used when deploying actors exposed as REST services in a standard servlet container, @@ -72,6 +72,7 @@ class AkkaCometServlet extends org.atmosphere.cpr.AtmosphereServlet with Logging } override def loadConfiguration(sc: ServletConfig) { + config = new AtmosphereConfig { supportSession = false } atmosphereHandlers.put("/*", new AtmosphereServlet.AtmosphereHandlerWrapper(servlet, new JerseyBroadcaster)) loadCometSupport(sc.getInitParameter("cometSupport")) map( setCometSupport(_) ) diff --git a/akka-rest/pom.xml b/akka-rest/pom.xml index ab010b9fa9..9dc47f6db8 100644 --- a/akka-rest/pom.xml +++ b/akka-rest/pom.xml @@ -37,17 +37,17 @@ com.sun.jersey jersey-core - 1.1.3-ea + ${jersey.version} com.sun.jersey jersey-server - 1.1.3-ea + ${jersey.version} com.sun.jersey jersey-json - 1.1.3-ea + ${jersey.version} javax.ws.rs @@ -57,7 +57,7 @@ com.sun.jersey.contribs jersey-scala - 1.1.3-ea + ${jersey.version} diff --git a/akka-samples-scala/src/main/scala/SimpleService.scala b/akka-samples-scala/src/main/scala/SimpleService.scala index a1f5e87575..891810db04 100644 --- a/akka-samples-scala/src/main/scala/SimpleService.scala +++ b/akka-samples-scala/src/main/scala/SimpleService.scala @@ -11,11 +11,12 @@ import se.scalablesolutions.akka.util.Logging import java.lang.Integer import javax.ws.rs.core.MultivaluedMap -import javax.ws.rs.{GET, POST, Path, Produces, WebApplicationException, Consumes} +import javax.ws.rs.{GET, POST, Path, Produces, WebApplicationException, Consumes,PathParam} -import org.atmosphere.core.annotation.{Broadcast, Suspend} +import org.atmosphere.annotation.{Broadcast, Suspend} import org.atmosphere.util.XSSHtmlFilter -import org.atmosphere.cpr.BroadcastFilter +import org.atmosphere.cpr.{BroadcastFilter,Broadcaster} +import org.atmosphere.jersey.Broadcastable class Boot { val factory = SupervisorFactory( @@ -29,6 +30,9 @@ class Boot { LifeCycle(Permanent)) :: Supervise( new PersistentSimpleService, + LifeCycle(Permanent)) :: + Supervise( + new PubSub, LifeCycle(Permanent)) :: Nil)) factory.newInstance.start @@ -67,6 +71,26 @@ class SimpleService extends Actor { } } +@Path("/pubsub/") +class PubSub extends Actor { + case class Msg(topic: String, message: String) + + @GET + @Suspend + @Produces(Array("text/plain;charset=ISO-8859-1")) + @Path("/topic/{topic}/") + def subscribe(@PathParam("topic") topic: Broadcaster): Broadcastable = new Broadcastable("", topic) + + @GET + @Broadcast + @Path("/topic/{topic}/{message}/") + @Produces(Array("text/plain;charset=ISO-8859-1")) + def say(@PathParam("topic") topic: Broadcaster, @PathParam("message") message: String): Broadcastable = new Broadcastable(message, topic) + + override def receive = { case _ => } +} + + /** * Try service out by invoking (multiple times): *
diff --git a/pom.xml b/pom.xml
index 7ffd4cd08a..4bbf7686ef 100755
--- a/pom.xml
+++ b/pom.xml
@@ -28,6 +28,8 @@
     ${maven.compiler.source}
     ${project.build.sourceEncoding}
     ${project.build.sourceEncoding}
+    0.4.1
+    1.1.4