/* (non-Javadoc) * @see java.lang.Runnable#run() */ public void run() { // log.debug("running"); setRunning(true); while (true) { ResourceRequest request = null; boolean reserved = false; if (queue.isEmpty()) { setRunning(false); // log.debug("finished"); return; } request = (ResourceRequest) queue.firstElement(); reserved = manager.requestResources(request); if (reserved) { queue.remove(request); notifyResourceWaiter(request); log.info("grantResources: " + request.getRrId()); } else { waitForResources(); } } }