Recovering AtmosphereResource State between reconnection - Atmosphere/atmosphere Wiki

AtmosphereResourceStateRecovery is only available in version 1.1.0 and later.

When a connection get closed by a proxy, the client or the server, an AtmosphereResource state will be destroyed, e.g. the resource will be removed from all Broadcaster the resource was added. If your application needs to recover from a disconnection it's previous state, install the AtmosphereResourceStateRecovery interceptor by adding it to your annotation


@ManagedService(path = "/", interceptors = AtmosphereResourceStateRecovery.class)
public class myResource {

}

or by defining it in web/application.xml

<init-param>
    <param-name>org.atmosphere.cpr.AtmosphereInterceptor</param-name>
    <param-value>org.atmosphere.interceptor.AtmosphereResourceStateRecovery</param-value>
 </init-param>

 // application.xml
 <applicationConfig>
    <param-name>org.atmosphere.cpr.AtmosphereInterceptor</param-name>
    <param-value>org.atmosphere.interceptor.AtmosphereResourceStateRecovery</param-value>
 </applicationConfig>

By default, the state will be stored for 1 minute. You can change that value by adding

<init-param>
    <param-name>org.atmosphere.interceptor.AtmosphereResourceStateRecovery.timeout</param-name>
    <param-value>value</param-value>
 </init-param>