@Override public void run() { try { while (true) { synchronized (queue) { sendNow(queue); } int l = connections.size(); for (int i = 0; i < l; i++) { Connection c = connections.get(i); if (c != null && c.ready()) { JsonObject message = c.read(); if (message != null) { route(message, c.getNode()); } } } Thread.sleep(1000L); // System.out.print('+'); } } catch (InterruptedException e) { System.out.println("Closing server!"); } }