Asynchronous WebSocket/Comet Support in Tapestry using Atmosphere
The aim of this project is to support push applications in Apache Tapestry without requiring developers to write a single line of javascript or concern themselves with the underlying Atmosphere implementation.
See a live demo running here
- Container component
- PushTarget component
- Atmosphere Broadcaster
- Supported Browsers / Servers
- Topic Authorizer
- Topic Listener
- Configuring the Atmosphere Servlet
- HttpSession Support
- Apache Proxy
<dependencies>
<dependency>
<groupId>org.lazan</groupId>
<artifactId>tapestry-atmosphere</artifactId>
<!-- lookup latest version at https://github.com/uklance/releases/tree/master/org/lazan/tapestry-atmosphere -->
<version>x.y.z</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>lazan-releases</id>
<url>https://raw.github.com/uklance/releases/master</url>
</repository>
</repositories>
See the quick dependency reference to see which atmosphere jars are required for your web container.
The AtmosphereServlet
is running inside the TapestryFilter
so there is no need to configure the AtmosphereServlet
in web.xml
. You must set the async-supported
element to true
to allow async communication.
eg:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>tapestry.app-package</param-name>
<param-value>my.app.package</param-value>
</context-param>
<filter>
<filter-name>app</filter-name>
<filter-class>org.apache.tapestry5.TapestryFilter</filter-class>
<async-supported>true</async-supported>
</filter>
<filter-mapping>
<filter-name>app</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>