org.activemq.io.util
Class SpooledBoundedActiveMQMessageQueue

java.lang.Object
  extended by org.activemq.io.util.SpooledBoundedActiveMQMessageQueue

public class SpooledBoundedActiveMQMessageQueue
extends Object

Implements a controlled thread safe queue, with ActiveMQMessages being spooled to disk for reading asynchronously.


Constructor Summary
SpooledBoundedActiveMQMessageQueue(File dir, String name)
          Constructor for SpooledBoundedActiveMQMessageQueue
SpooledBoundedActiveMQMessageQueue(File dir, String name, long maxDataLength, int maxBlockSize)
          Constructor for SpooledBoundedActiveMQMessageQueue
 
Method Summary
 void clear()
          clear the queue
 void close()
          close this queue
 ActiveMQMessage dequeue()
           
 ActiveMQMessage dequeue(long timeInMillis)
           
 ActiveMQMessage dequeueNoWait()
           
 void enqueue(ActiveMQMessage packet)
          Place a ActiveMQMessage at the head of the Queue
 void enqueueNoBlock(ActiveMQMessage packet)
          Enqueue a ActiveMQMessage without checking usage limits
 List getContents()
           
 String getName()
           
 boolean isEmpty()
           
 boolean isFull()
           
 boolean isStarted()
           
 int size()
           
 void start()
          enable dequeueing
 void stop()
          disable dequeueing
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SpooledBoundedActiveMQMessageQueue

public SpooledBoundedActiveMQMessageQueue(File dir,
                                          String name,
                                          long maxDataLength,
                                          int maxBlockSize)
                                   throws IOException
Constructor for SpooledBoundedActiveMQMessageQueue

Parameters:
dir -
name -
maxDataLength -
maxBlockSize -
Throws:
IOException

SpooledBoundedActiveMQMessageQueue

public SpooledBoundedActiveMQMessageQueue(File dir,
                                          String name)
                                   throws IOException
Constructor for SpooledBoundedActiveMQMessageQueue

Parameters:
dir -
name -
Throws:
IOException
Method Detail

enqueue

public void enqueue(ActiveMQMessage packet)
             throws JMSException
Place a ActiveMQMessage at the head of the Queue

Parameters:
packet -
Throws:
JMSException

enqueueNoBlock

public void enqueueNoBlock(ActiveMQMessage packet)
                    throws JMSException
Enqueue a ActiveMQMessage without checking usage limits

Parameters:
packet -
Throws:
JMSException

dequeue

public ActiveMQMessage dequeue()
                        throws JMSException,
                               InterruptedException
Returns:
the first dequeued ActiveMQMessage or blocks until one is available
Throws:
JMSException
InterruptedException

dequeue

public ActiveMQMessage dequeue(long timeInMillis)
                        throws JMSException,
                               InterruptedException
Parameters:
timeInMillis - maximum time to wait to dequeue a ActiveMQMessage
Returns:
the ActiveMQMessage from the head of the Queue or null if the Queue is empty
Throws:
JMSException
InterruptedException

dequeueNoWait

public ActiveMQMessage dequeueNoWait()
                              throws JMSException,
                                     InterruptedException
Returns:
the ActiveMQMessage from the head of the Queue or null if the Queue is empty
Throws:
JMSException
InterruptedException

isFull

public boolean isFull()
Returns:
true if this queue has reached it's data length limit

close

public void close()
close this queue


getName

public String getName()
Returns:
the name of this BoundedActiveMQMessageQueue

size

public int size()
Returns:
number of ActiveMQMessages held by this queue

isStarted

public boolean isStarted()
Returns:
true if the queue is enabled for dequeing (default = true)

stop

public void stop()
disable dequeueing


start

public void start()
enable dequeueing


isEmpty

public boolean isEmpty()
Returns:
true if this queue is empty

clear

public void clear()
clear the queue


getContents

public List getContents()
Returns:
a copy of the contents


Copyright © 2004-2009 Protique, Ltd.. All Rights Reserved.