Merge branch 'master' of git@github.com:jboner/akka
This commit is contained in:
commit
99ba8ac00a
9 changed files with 95 additions and 43 deletions
|
|
@ -204,20 +204,25 @@
|
|||
<artifactId>grizzly-comet-webserver</artifactId>
|
||||
<version>1.8.6.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sun.jersey</groupId>
|
||||
<artifactId>jersey-core</artifactId>
|
||||
<version>1.1.2-ea</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sun.jersey</groupId>
|
||||
<artifactId>jersey-server</artifactId>
|
||||
<version>1.1.1-ea</version>
|
||||
<version>1.1.2-ea</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sun.jersey</groupId>
|
||||
<artifactId>jersey-json</artifactId>
|
||||
<version>1.1.1-ea</version>
|
||||
<version>1.1.2-ea</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.ws.rs</groupId>
|
||||
<artifactId>jsr311-api</artifactId>
|
||||
<version>1.0</version>
|
||||
<version>1.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sun.jersey.contribs</groupId>
|
||||
|
|
@ -227,23 +232,23 @@
|
|||
<dependency>
|
||||
<groupId>org.atmosphere</groupId>
|
||||
<artifactId>atmosphere-core</artifactId>
|
||||
<version>0.3</version>
|
||||
<version>0.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.atmosphere</groupId>
|
||||
<artifactId>atmosphere-portable-runtime</artifactId>
|
||||
<version>0.3</version>
|
||||
<version>0.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.atmosphere</groupId>
|
||||
<artifactId>atmosphere-compat</artifactId>
|
||||
<version>0.3</version>
|
||||
<version>0.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<!--<plugin>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
<version>2.2-beta-2</version>
|
||||
<executions>
|
||||
|
|
@ -267,7 +272,34 @@
|
|||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugin>-->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>1.2.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>install</phase>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<artifactSet>
|
||||
<excludes>
|
||||
<exclude>junit:junit</exclude>
|
||||
</excludes>
|
||||
</artifactSet>
|
||||
<transformers>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ComponentsXmlResourceTransformer" />
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||
<mainClass>se.scalablesolutions.akka.Kernel</mainClass>
|
||||
</transformer>
|
||||
</transformers>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<executions>
|
||||
|
|
@ -275,7 +307,9 @@
|
|||
<phase>install</phase>
|
||||
<configuration>
|
||||
<tasks>
|
||||
<copy file="target/akka-kernel-${akka.version}-jar-with-dependencies.jar"
|
||||
<!--<copy file="target/akka-kernel-${akka.version}-jar-with-dependencies.jar"
|
||||
tofile="../dist/akka-${akka.version}.jar"/>-->
|
||||
<copy file="target/akka-kernel-${akka.version}.jar"
|
||||
tofile="../dist/akka-${akka.version}.jar"/>
|
||||
</tasks>
|
||||
</configuration>
|
||||
|
|
|
|||
|
|
@ -42,21 +42,27 @@ class AkkaServlet extends ServletContainer with AtmosphereServletProcessor with
|
|||
|
||||
// Borrowed from AbstractReflectorAtmosphereHandler
|
||||
override def onMessage(event: AtmosphereEvent[HttpServletRequest, HttpServletResponse]): AtmosphereEvent[_, _] = {
|
||||
if (event.getMessage ne null) {
|
||||
val isUsingStream = try {
|
||||
event.getResponse.getWriter
|
||||
false
|
||||
} catch { case e: IllegalStateException => true }
|
||||
|
||||
val data = event.getMessage.toString
|
||||
if (isUsingStream) {
|
||||
if (data != null) event.getResponse.getOutputStream.write(data.getBytes)
|
||||
event.getResponse.getOutputStream.flush
|
||||
} else {
|
||||
event.getResponse.getWriter.write(data)
|
||||
event.getResponse.getWriter.flush
|
||||
}
|
||||
} else log.info("Null event message: req[%s] res[%s]", event.getRequest, event.getResponse)
|
||||
val response = event.getResponse
|
||||
val data = if(event.getMessage ne null ) event.getMessage.toString else null
|
||||
val isUsingStream = try {
|
||||
response.getWriter
|
||||
false
|
||||
} catch { case e: IllegalStateException => true }
|
||||
|
||||
if (isUsingStream)
|
||||
{
|
||||
if (data != null)
|
||||
response.getOutputStream.write(data.getBytes)
|
||||
response.getOutputStream.flush
|
||||
}
|
||||
else
|
||||
{
|
||||
if (data != null)
|
||||
response.getWriter.write(data)
|
||||
response.getWriter.flush
|
||||
}
|
||||
|
||||
event
|
||||
}
|
||||
|
||||
|
|
@ -72,7 +78,7 @@ class AkkaCometServlet extends org.atmosphere.cpr.AtmosphereServlet {
|
|||
override def init(sconf: ServletConfig) = {
|
||||
val servlet = new AkkaServlet
|
||||
config = new AtmosphereConfig { ah = servlet }
|
||||
atmosphereHandlers.put("", new AtmosphereHandlerWrapper(servlet, new JerseyBroadcaster))
|
||||
atmosphereHandlers.put("/*", new AtmosphereHandlerWrapper(servlet, new JerseyBroadcaster))
|
||||
setCometSupport(new GrizzlyCometSupport(config))
|
||||
getCometSupport.init(sconf)
|
||||
servlet.init(sconf)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue