// with attributes that need to be serialized for failover.
//
HashMap failoverAttrs = getFailoverAttributesMap( request, false, true );
if ( failoverAttrs != null )
{
ServletContainerAdapter sa = AdapterManager.getServletContainerAdapter( getServletContext() );
for ( Iterator i = failoverAttrs.entrySet().iterator(); i.hasNext(); )
{
Map.Entry entry = ( Map.Entry ) i.next();
if (_log.isTraceEnabled())
_log.trace("Ensure failover for attribute " + entry.getKey());
// This ThreadLocal value allows others (e.g., an HttpSessionBindingListener like
// PageFlowManagedObject) that we're in the middle of committing changes to the session.
_isCommittingChanges.set(Boolean.TRUE);
try {
sa.ensureFailover( ( String ) entry.getKey(), entry.getValue(), request );
}
finally {
_isCommittingChanges.set(Boolean.FALSE);
}
}