@SuppressWarnings("unchecked")
    public static synchronized void leftCluster() {
        clusteringStarted = false;
        cacheFactoryStrategy = localCacheFactoryStrategy;

        // Loop through clustered caches and change them to local caches (purge content)
        Arrays.stream(getAllCaches())
            .filter(CacheFactory::isClusterableCache)
            .forEach(cache -> {
                final CacheWrapper cacheWrapper = ((CacheWrapper) cache);
                Cache standaloneCache = cacheFactoryStrategy.createCache(cacheWrapper.getName());
                if (cacheWrapper.getWrappedCache() instanceof SerializingCache) {
                    final SerializingCache serializingCache = (SerializingCache) cacheWrapper.getWrappedCache();
                    standaloneCache = new SerializingCache(standaloneCache);
                    ((SerializingCache) standaloneCache).registerClasses(serializingCache.getKeyClass(), serializingCache.getValueClass());
                }
                cacheWrapper.setWrappedCache(standaloneCache);
            });
        log.info("Clustering stopped; cache migration complete");
    }
Notification message indicating that this JVM has left the cluster.
xmppserver/src/main/java/org/jivesoftware/util/cache/CacheFactory.java