Added jersey.version and atmosphere.version and fixed jersey broadcaster bug
This commit is contained in:
parent
04f9afab31
commit
1afe9e80a8
6 changed files with 54 additions and 22 deletions
|
|
@ -34,25 +34,25 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.sun.jersey</groupId>
|
<groupId>com.sun.jersey</groupId>
|
||||||
<artifactId>jersey-server</artifactId>
|
<artifactId>jersey-server</artifactId>
|
||||||
<version>1.1.3-ea</version>
|
<version>${jersey.version}</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.sun.jersey</groupId>
|
<groupId>com.sun.jersey</groupId>
|
||||||
<artifactId>jersey-json</artifactId>
|
<artifactId>jersey-json</artifactId>
|
||||||
<version>1.1.3-ea</version>
|
<version>${jersey.version}</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.sun.jersey</groupId>
|
<groupId>com.sun.jersey</groupId>
|
||||||
<artifactId>jersey-client</artifactId>
|
<artifactId>jersey-client</artifactId>
|
||||||
<version>1.1.3-ea</version>
|
<version>${jersey.version}</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.sun.jersey</groupId>
|
<groupId>com.sun.jersey</groupId>
|
||||||
<artifactId>jersey-atom</artifactId>
|
<artifactId>jersey-atom</artifactId>
|
||||||
<version>1.1.3-ea</version>
|
<version>${jersey.version}</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
||||||
|
|
@ -170,17 +170,17 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.sun.jersey</groupId>
|
<groupId>com.sun.jersey</groupId>
|
||||||
<artifactId>jersey-core</artifactId>
|
<artifactId>jersey-core</artifactId>
|
||||||
<version>1.1.3-ea</version>
|
<version>${jersey.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.sun.jersey</groupId>
|
<groupId>com.sun.jersey</groupId>
|
||||||
<artifactId>jersey-server</artifactId>
|
<artifactId>jersey-server</artifactId>
|
||||||
<version>1.1.3-ea</version>
|
<version>${jersey.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.sun.jersey</groupId>
|
<groupId>com.sun.jersey</groupId>
|
||||||
<artifactId>jersey-json</artifactId>
|
<artifactId>jersey-json</artifactId>
|
||||||
<version>1.1.3-ea</version>
|
<version>${jersey.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>javax.ws.rs</groupId>
|
<groupId>javax.ws.rs</groupId>
|
||||||
|
|
@ -190,17 +190,22 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.sun.jersey.contribs</groupId>
|
<groupId>com.sun.jersey.contribs</groupId>
|
||||||
<artifactId>jersey-scala</artifactId>
|
<artifactId>jersey-scala</artifactId>
|
||||||
<version>1.1.3-ea</version>
|
<version>${jersey.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.atmosphere</groupId>
|
||||||
|
<artifactId>atmosphere-annotations</artifactId>
|
||||||
|
<version>${atmosphere.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.atmosphere</groupId>
|
||||||
|
<artifactId>atmosphere-jersey</artifactId>
|
||||||
|
<version>${atmosphere.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.atmosphere</groupId>
|
<groupId>org.atmosphere</groupId>
|
||||||
<artifactId>atmosphere-runtime</artifactId>
|
<artifactId>atmosphere-runtime</artifactId>
|
||||||
<version>0.4.1</version>
|
<version>${atmosphere.version}</version>
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.atmosphere</groupId>
|
|
||||||
<artifactId>atmosphere-core</artifactId>
|
|
||||||
<version>0.4-SNAPSHOT</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ import javax.servlet.http.{HttpServletRequest, HttpServletResponse}
|
||||||
|
|
||||||
import org.atmosphere.cpr.{AtmosphereServlet, AtmosphereServletProcessor, AtmosphereResource, AtmosphereResourceEvent,CometSupport}
|
import org.atmosphere.cpr.{AtmosphereServlet, AtmosphereServletProcessor, AtmosphereResource, AtmosphereResourceEvent,CometSupport}
|
||||||
import org.atmosphere.handler.{ReflectorServletProcessor, AbstractReflectorAtmosphereHandler}
|
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,
|
* 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) {
|
override def loadConfiguration(sc: ServletConfig) {
|
||||||
|
config = new AtmosphereConfig { supportSession = false }
|
||||||
atmosphereHandlers.put("/*", new AtmosphereServlet.AtmosphereHandlerWrapper(servlet, new JerseyBroadcaster))
|
atmosphereHandlers.put("/*", new AtmosphereServlet.AtmosphereHandlerWrapper(servlet, new JerseyBroadcaster))
|
||||||
|
|
||||||
loadCometSupport(sc.getInitParameter("cometSupport")) map( setCometSupport(_) )
|
loadCometSupport(sc.getInitParameter("cometSupport")) map( setCometSupport(_) )
|
||||||
|
|
|
||||||
|
|
@ -37,17 +37,17 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.sun.jersey</groupId>
|
<groupId>com.sun.jersey</groupId>
|
||||||
<artifactId>jersey-core</artifactId>
|
<artifactId>jersey-core</artifactId>
|
||||||
<version>1.1.3-ea</version>
|
<version>${jersey.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.sun.jersey</groupId>
|
<groupId>com.sun.jersey</groupId>
|
||||||
<artifactId>jersey-server</artifactId>
|
<artifactId>jersey-server</artifactId>
|
||||||
<version>1.1.3-ea</version>
|
<version>${jersey.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.sun.jersey</groupId>
|
<groupId>com.sun.jersey</groupId>
|
||||||
<artifactId>jersey-json</artifactId>
|
<artifactId>jersey-json</artifactId>
|
||||||
<version>1.1.3-ea</version>
|
<version>${jersey.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>javax.ws.rs</groupId>
|
<groupId>javax.ws.rs</groupId>
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.sun.jersey.contribs</groupId>
|
<groupId>com.sun.jersey.contribs</groupId>
|
||||||
<artifactId>jersey-scala</artifactId>
|
<artifactId>jersey-scala</artifactId>
|
||||||
<version>1.1.3-ea</version>
|
<version>${jersey.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
|
|
||||||
|
|
@ -11,11 +11,12 @@ import se.scalablesolutions.akka.util.Logging
|
||||||
|
|
||||||
import java.lang.Integer
|
import java.lang.Integer
|
||||||
import javax.ws.rs.core.MultivaluedMap
|
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.util.XSSHtmlFilter
|
||||||
import org.atmosphere.cpr.BroadcastFilter
|
import org.atmosphere.cpr.{BroadcastFilter,Broadcaster}
|
||||||
|
import org.atmosphere.jersey.Broadcastable
|
||||||
|
|
||||||
class Boot {
|
class Boot {
|
||||||
val factory = SupervisorFactory(
|
val factory = SupervisorFactory(
|
||||||
|
|
@ -29,6 +30,9 @@ class Boot {
|
||||||
LifeCycle(Permanent)) ::
|
LifeCycle(Permanent)) ::
|
||||||
Supervise(
|
Supervise(
|
||||||
new PersistentSimpleService,
|
new PersistentSimpleService,
|
||||||
|
LifeCycle(Permanent)) ::
|
||||||
|
Supervise(
|
||||||
|
new PubSub,
|
||||||
LifeCycle(Permanent))
|
LifeCycle(Permanent))
|
||||||
:: Nil))
|
:: Nil))
|
||||||
factory.newInstance.start
|
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):
|
* Try service out by invoking (multiple times):
|
||||||
* <pre>
|
* <pre>
|
||||||
|
|
|
||||||
2
pom.xml
2
pom.xml
|
|
@ -28,6 +28,8 @@
|
||||||
<maven.compiler.target>${maven.compiler.source}</maven.compiler.target>
|
<maven.compiler.target>${maven.compiler.source}</maven.compiler.target>
|
||||||
<maven.compiler.encoding>${project.build.sourceEncoding}</maven.compiler.encoding>
|
<maven.compiler.encoding>${project.build.sourceEncoding}</maven.compiler.encoding>
|
||||||
<project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
|
<project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
|
||||||
|
<atmosphere.version>0.4.1</atmosphere.version>
|
||||||
|
<jersey.version>1.1.4</jersey.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue