@Override public String toString() { return "SESSIONID-UPDATE#" + getHost() + "." + getContextName() + "#" + getOrignalSessionID() + ":" + getBackupSessionID(); }
@Override public String getUniqueId() { StringBuilder result = new StringBuilder(getOrignalSessionID()); result.append("#-#"); result.append(getHost()); result.append("#-#"); result.append(getContextName()); result.append("#-#"); result.append(getMessageNumber()); result.append("#-#"); result.append(System.currentTimeMillis()); return result.toString(); }
/** * Send the changed Sessionid to all clusternodes. * * @see JvmRouteSessionIDBinderListener#messageReceived( * org.apache.catalina.ha.ClusterMessage) * @param sessionId * current failed sessionid * @param newSessionID * new session id, bind to the new cluster node */ protected void sendSessionIDClusterBackup(Request request, String sessionId, String newSessionID) { CatalinaCluster c = getCluster(); if (c != null && !(getManager(request) instanceof BackupManager)) { SessionIDMessage msg = new SessionIDMessage(); msg.setOrignalSessionID(sessionId); msg.setBackupSessionID(newSessionID); Context context = request.getContext(); msg.setContextName(context.getName()); msg.setHost(context.getParent().getName()); c.send(msg); } }
log.debug(sm.getString( "jvmRoute.receiveMessage.sessionIDChanged", sessionmsg .getOrignalSessionID(), sessionmsg .getBackupSessionID(), sessionmsg .getContextName())); Container container = getCluster().getContainer(); Container host = null ; if(container instanceof Engine) { host = container.findChild(sessionmsg.getHost()); } else { host = container ; .getContextName()); if (context != null) { try { Session session = context.getManager().findSession( sessionmsg.getOrignalSessionID()); if (session != null) { session.setId(sessionmsg.getBackupSessionID()); } else if (log.isInfoEnabled()) log.info(sm.getString("jvmRoute.lostSession", sessionmsg.getOrignalSessionID(), sessionmsg.getContextName())); } catch (IOException e) { log.error(e); sessionmsg.getContextName(), ((StandardEngine) host .getParent()).getJvmRoute())); } else if (log.isErrorEnabled())