/** * Stop the server session and cleanup resources */ public void stop() { try { if (sessionExpirationFuture != null) { sessionExpirationFuture.cancel(false); sessionExpirationFuture = null; } if (sessionExpirationTimer != null) { sessionExpirationTimer.shutdownNow(); sessionExpirationTimer = null; } } finally { if (channelFactory != null) { channelFactory.stop(); channelFactory = null; } unsetupChannel(remotingChannel); remotingChannel = null; for (Channel messagingChannel : messagingChannelsByType.values()) unsetupChannel(messagingChannel); messagingChannelsByType.clear(); aliasRegistry = null; } }