@Override
    public void chainQuiesced(ChainData chainData) {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.entry(tc, "chainQuiesced", chainData);

        chainState.set(ChainState.QUIESCED.val);

        //First stop any MP connections which are established through COMMS 
        //stopping connections is Non-blocking
        try {
            if (this._isSecureChain)
                _commsServerFacade.closeViaCommsMPConnections(JsConstants.ME_STOP_COMMS_SSL_CONNECTIONS);
            else
                _commsServerFacade.closeViaCommsMPConnections(JsConstants.ME_STOP_COMMS_CONNECTIONS);
        } catch (Exception e) {
            if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                SibTr.debug(tc, "Failed in stopping MP connections which are establised through COMMS: ", e);
        }

        // no current connections, notify the final stop can happen now
        signalNoConnections();
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.exit(tc, "chainQuiesced");
    }
@ Override public void chainQuiesced ( ChainData chainData ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "chainQuiesced" , chainData ) ; chainState . set ( ChainState . QUIESCED . val ) ; try { if ( this . _isSecureChain ) _commsServerFacade . closeViaCommsMPConnections ( JsConstants . ME_STOP_COMMS_SSL_CONNECTIONS ) ; else _commsServerFacade . closeViaCommsMPConnections ( JsConstants . ME_STOP_COMMS_CONNECTIONS ) ; } catch ( Exception e ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( tc , "Failed in stopping MP connections which are establised through COMMS: " , e ) ; } signalNoConnections ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "chainQuiesced" ) ; }
/*
Before the chain is stopped/destroyed we send notification to clients so that clients
can close connections gracefully

This method can not be synchronized (deadlock with update/stop).
Rely on CFW synchronization of chain operations.

(non-Javadoc)

@see com.ibm.wsspi.channelfw.ChainEventListener#chainQuiesced(com.ibm.websphere.channelfw.ChainData)