org.globus.wsrf.container
Class ServiceRequestQueue

java.lang.Object
  extended byorg.globus.wsrf.container.ServiceRequestQueue

public class ServiceRequestQueue
extends java.lang.Object

queue managing multithreaded request enqueuing and dequeueing


Field Summary
(package private) static org.apache.commons.logging.Log logger
           
(package private)  java.util.LinkedList requests
           
private  Semaphore semaphore
           
(package 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

requests

java.util.LinkedList requests

waitingThreads

int waitingThreads

logger

static org.apache.commons.logging.Log logger

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)