public void removeAllConnectionsAndUnregisterClient(ClientProxyMembershipID proxyID, Throwable t) { // Remove all connections cleanupClientThreads(proxyID, false); unregisterClient(proxyID, false, t); }
/** * Unregisters a client to be monitored. * * @param proxyID The id of the client to be unregistered * @param acceptor non-null if the call is from a <code>ServerConnection</code> (as opposed to a * <code>CacheClientProxy</code>). * @param clientDisconnectedCleanly Whether the client disconnected cleanly or crashed */ public void unregisterClient(ClientProxyMembershipID proxyID, AcceptorImpl acceptor, boolean clientDisconnectedCleanly, Throwable clientDisconnectException) { unregisterClient(proxyID, clientDisconnectedCleanly, clientDisconnectException); // Unregister any CacheClientProxy instances associated with this member id // if this method was invoked from a ServerConnection and the client did // not disconnect cleanly. if (acceptor != null) { CacheClientNotifier ccn = acceptor.getCacheClientNotifier(); if (ccn != null) { try { ccn.unregisterClient(proxyID, clientDisconnectedCleanly); } catch (CancelException ignore) { } } } }
this.acceptor.getClientHealthMonitor().removeConnection(this.proxyId, this); if (unregisterClient) { this.acceptor.getClientHealthMonitor().unregisterClient(this.proxyId, getAcceptor(), this.clientDisconnectedCleanly, this.clientDisconnectedException);