public void storeSessionInfoToMessage(MuleSession session, MuleMessage message) throws MuleException { StringBuilder buf = new StringBuilder(); buf.append(getSessionIDKey()).append("=").append(session.getId()); for (String key : session.getPropertyNamesAsSet()) { buf.append(";"); String propertyValue = session.getProperty(key).toString(); buf.append(key).append("=").append(propertyValue); if (logger.isDebugEnabled()) { logger.debug(String.format("Adding property to session header: %s=%s", key, session.getProperty(key))); } } String sessionString = buf.toString(); if (logger.isDebugEnabled()) { logger.debug("Adding session header to message: " + sessionString); } sessionString = (String) encoder.transform(sessionString); message.setOutboundProperty(MuleProperties.MULE_SESSION_PROPERTY, sessionString); }
public DefaultMuleSession(MuleSession session) { this.id = session.getId(); this.securityContext = session.getSecurityContext(); this.valid = session.isValid(); this.properties = Collections.synchronizedMap(new CaseInsensitiveHashMap()); for (String key : session.getPropertyNamesAsSet()) { this.properties.put(key, createTypedValue(session, key)); } }