public void remove(final Steppable s) { synchronized (tasks) { if (s.getState() == SteppableState.RELEASED) { tasks.remove(s.getName()); } } }
public void submit(final Steppable s) { synchronized (tasks) { tasks.put(s.getName(), s); } s.setPool(this); getExecutor() .submit( new Runnable() { public void run() { s.initialize(); } }); }
private boolean isIdle() { synchronized (tasks) { if (tasks.size() > 0) { lastUnidle = System.currentTimeMillis(); } log().info("Pool still has " + (tasks.size()) + " tasks."); if (tasks.size() == lastCount) { for (Steppable s : tasks.values()) { log.info("Task : " + s.getName() + ":" + s.getState()); } } else { lastCount = tasks.size(); } return (tasks.size() <= 0); } }