org.globus.wsrf.container
Class ServiceRequestQueue

java.lang.Object
  extended by org.globus.wsrf.container.ServiceRequestQueue

public class ServiceRequestQueue
extends java.lang.Object

queue managing multithreaded request enqueuing and dequeueing


Field Summary
private static org.apache.commons.logging.Log logger
           
private  java.util.LinkedList requests
           
private  Semaphore semaphore
           
private  int waitingThreads
           
 
Constructor Summary
ServiceRequestQueue()
           
 
Method Summary
private  void addWaitingThread()
           
 ServiceRequest dequeue()
           
 int enqueue(ServiceRequest request)
           
private  void removeWaitingThread()
           
 void stopThreads(int threads)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static final org.apache.commons.logging.Log logger

requests

private java.util.LinkedList requests

waitingThreads

private int waitingThreads

semaphore

private Semaphore semaphore
Constructor Detail

ServiceRequestQueue

public ServiceRequestQueue()
Method Detail

dequeue

public ServiceRequest dequeue()
                       throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

addWaitingThread

private void addWaitingThread()

removeWaitingThread

private void removeWaitingThread()

enqueue

public int enqueue(ServiceRequest request)

stopThreads

public void stopThreads(int threads)