public void shutdown() { // new RuntimeException("Calling shutdown").printStackTrace(); this.running = false; // Since sessionTracker and syncThreads poll we just have to // set running to false and they will detect it during the poll // interval. if (sessionTracker != null) { sessionTracker.shutdown(); } if (firstProcessor != null) { firstProcessor.shutdown(); } if (zkDb != null) { zkDb.clear(); } unregisterJMX(); }