@Override
    public void initialize(XMPPServer server) {
        super.initialize(server);
        this.server = server;
        router = server.getPacketRouter();
        routingTable = server.getRoutingTable();
        serverName = server.getServerInfo().getXMPPDomain();
        serverAddress = new JID(serverName);

        if (JiveGlobals.getBooleanProperty("xmpp.audit.active")) {
            streamIDFactory = new AuditStreamIDFactory();
        }
        else {
            streamIDFactory = new BasicStreamIDFactory();
        }

        // Initialize caches.
        componentSessionsCache = CacheFactory.createCache(COMPONENT_SESSION_CACHE_NAME);
        multiplexerSessionsCache = CacheFactory.createCache(CM_CACHE_NAME);
        incomingServerSessionInfoCache = CacheFactory.createCache(ISS_CACHE_NAME);
        domainSessionsCache = CacheFactory.createCache(DOMAIN_SESSIONS_CACHE_NAME);
        sessionInfoCache = CacheFactory.createCache(C2S_INFO_CACHE_NAME);

        // Listen to cluster events
        ClusterManager.addListener(this, 15);
    }
Handle a multiplexer session that just closed.

@param handback The session that just closed
@return a Future representing pending completion of the event listener invocation.
xmppserver/src/main/java/org/jivesoftware/openfire/SessionManager.java