/** * Process the next connection payload. This should be called whenever * the connection state has changed. * * @param connectionPayload connection payload; not null */ protected synchronized final void processConnection(ConnectionPayload connectionPayload) { if (log.isLoggable(Level.FINEST)) { log.log(Level.FINEST, "processConnection for channel {0} connectionPayload {1}", new Object[] {getChannelName(), connectionPayload}); } this.connectionPayload = connectionPayload; setConnected(isConnected(connectionPayload)); setWriteConnected(isWriteConnected(connectionPayload)); for (MonitorHandler monitor : monitors.values()) { monitor.findTypeAdapter(); } if (isConnected() && lastMessage != null && processMessageOnReconnect) { processMessage(lastMessage); } if (!isConnected() && lastMessage != null && processMessageOnDisconnect) { processMessage(lastMessage); } }