-
-
Notifications
You must be signed in to change notification settings - Fork 751
onDisconnect tricks
jfarcand edited this page Jun 27, 2012
·
14 revisions
When the browser is closing the connection, it is possible, on the server side, to get notified and take appropriate steps. An application just have to register an AtmosphereResourceEventListener and implements the logic inside the onDisconnect method:
public class MyDisconnectListener extends AtmosphereResourceEventListenerAdapter {
/**
* {@inheritDoc}
*/
@Override
public void onDisconnect(AtmosphereResourceEvent event) {
logger.trace("", event);
}
}
There is some restrictions:
- If your application is using the BlockingIOCometSupport, onDisconnect will not be called.
- If you are using Jetty (all version), onDisconnect will not be called.
The workaround, for those restrictions, it to fake detection by adding, win web/application.xml
<init-param>
<param-name>org.atmosphere.cpr.CometSupport.maxInactiveActivity</param-name>
<param-value>30000param-value>
</init-param>
That will check if an connection has been idle more than 30 seconds and close it, like the disconnect detection would have done.
- Understanding Atmosphere
- Understanding @ManagedService
- Using javax.inject.Inject and javax.inject.PostConstruct annotation
- Understanding Atmosphere's Annotation
- Understanding AtmosphereResource
- Understanding AtmosphereHandler
- Understanding WebSocketHandler
- Understanding Broadcaster
- Understanding BroadcasterCache
- Understanding Meteor
- Understanding BroadcastFilter
- Understanding Atmosphere's Events Listeners
- Understanding AtmosphereInterceptor
- Configuring Atmosphere for Performance
- Understanding JavaScript functions
- Understanding AtmosphereResourceSession
- Improving Performance by using the PoolableBroadcasterFactory
- Using Atmosphere Jersey API
- Using Meteor API
- Using AtmosphereHandler API
- Using Socket.IO
- Using GWT
- Writing HTML5 Server-Sent Events
- Using STOMP protocol
- Streaming WebSocket messages
- Configuring Atmosphere's Classes Creation and Injection
- Using AtmosphereInterceptor to customize Atmosphere Framework
- Writing WebSocket sub protocol
- Configuring Atmosphere for the Cloud
- Injecting Atmosphere's Components in Jersey
- Sharing connection between Browser's windows and tabs
- Understanding AtmosphereResourceSession
- Manage installed services
- Server Side: javadoc API
- Server Side: atmosphere.xml and web.xml configuration
- Client Side: atmosphere.js API