org.apache.axis.ime.internal.util
Class NonPersistentKeyedBuffer

java.lang.Object
  |
  +--org.apache.axis.ime.internal.util.NonPersistentKeyedBuffer
All Implemented Interfaces:
KeyedBuffer

public class NonPersistentKeyedBuffer
extends java.lang.Object
implements KeyedBuffer

Creates a non-persistent KeyedBuffer. Queued messages are stored in memory. If the buffer instance is destroyed, so is the Queue.

Author:
James M Snell (jasnell@us.ibm.com)

Nested Class Summary
protected static class NonPersistentKeyedBuffer.KeyedNode
           
protected static class NonPersistentKeyedBuffer.KeyedQueue
           
protected static class NonPersistentKeyedBuffer.KeyedQueueIterator
           
 
Field Summary
protected static org.apache.commons.logging.Log log
           
 
Constructor Summary
NonPersistentKeyedBuffer(ThreadPool workers)
           
 
Method Summary
 java.lang.Object cancel(java.lang.Object key)
          Cancel a message that has been put on the channel.
 java.lang.Object get()
          Select and remove the next object in the buffer (does not wait for a message to be put into the buffer)
 java.lang.Object get(java.lang.Object key)
          Select and remove the specified object in the buffer (does not wait for a message to be put into the buffer)
 java.lang.Object peek()
          Select, but do not remove the next message on the channel.
 java.lang.Object[] peekAll()
          Select, but do not remove all messages on the channel.
 void put(java.lang.Object key, java.lang.Object object)
          Put a message onto the channel
 java.lang.Object select()
          Select and remove the next message in the channel If a message is not available, wait indefinitely for one
 java.lang.Object select(long timeout)
          Select and remove the next message in the channel If a message is not available, wait the specified amount of time for one
 java.lang.Object select(java.lang.Object key)
          Select and remove a specific message in the channel If the message is not available, wait indefinitely for one to be available
 java.lang.Object select(java.lang.Object key, long timeout)
          Select and remove a specific message in the channel If the message is not available, wait the specified amount of time for one
 java.lang.Object[] selectAll()
          Select and remove all of the messages currently in the channel (useful for bulk operations).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static org.apache.commons.logging.Log log
Constructor Detail

NonPersistentKeyedBuffer

public NonPersistentKeyedBuffer(ThreadPool workers)
Method Detail

peek

public java.lang.Object peek()
Description copied from interface: KeyedBuffer
Select, but do not remove the next message on the channel. If one does not exist, return null

Specified by:
peek in interface KeyedBuffer

peekAll

public java.lang.Object[] peekAll()
Description copied from interface: KeyedBuffer
Select, but do not remove all messages on the channel. This method will not block.

Specified by:
peekAll in interface KeyedBuffer

put

public void put(java.lang.Object key,
                java.lang.Object object)
Description copied from interface: KeyedBuffer
Put a message onto the channel

Specified by:
put in interface KeyedBuffer

cancel

public java.lang.Object cancel(java.lang.Object key)
Description copied from interface: KeyedBuffer
Cancel a message that has been put on the channel. Unlike select(Object key), this method will not block and wait for a message with the specified key to be put onto the MessageChannel.

Specified by:
cancel in interface KeyedBuffer

selectAll

public java.lang.Object[] selectAll()
Description copied from interface: KeyedBuffer
Select and remove all of the messages currently in the channel (useful for bulk operations). This method will not block. It is also not guaranteed that the Channel will be empty once this operation returns (it is possible that another thread may put new MessageContexts into the channel before this operation completes)

Specified by:
selectAll in interface KeyedBuffer

select

public java.lang.Object select()
                        throws java.lang.InterruptedException
Description copied from interface: KeyedBuffer
Select and remove the next message in the channel If a message is not available, wait indefinitely for one

Specified by:
select in interface KeyedBuffer
java.lang.InterruptedException

select

public java.lang.Object select(long timeout)
                        throws java.lang.InterruptedException
Description copied from interface: KeyedBuffer
Select and remove the next message in the channel If a message is not available, wait the specified amount of time for one

Specified by:
select in interface KeyedBuffer
java.lang.InterruptedException

select

public java.lang.Object select(java.lang.Object key)
                        throws java.lang.InterruptedException
Description copied from interface: KeyedBuffer
Select and remove a specific message in the channel If the message is not available, wait indefinitely for one to be available

Specified by:
select in interface KeyedBuffer
java.lang.InterruptedException

select

public java.lang.Object select(java.lang.Object key,
                               long timeout)
                        throws java.lang.InterruptedException
Description copied from interface: KeyedBuffer
Select and remove a specific message in the channel If the message is not available, wait the specified amount of time for one

Specified by:
select in interface KeyedBuffer
java.lang.InterruptedException

get

public java.lang.Object get()
Description copied from interface: KeyedBuffer
Select and remove the next object in the buffer (does not wait for a message to be put into the buffer)

Specified by:
get in interface KeyedBuffer

get

public java.lang.Object get(java.lang.Object key)
Description copied from interface: KeyedBuffer
Select and remove the specified object in the buffer (does not wait for a message to be put into the buffer)

Specified by:
get in interface KeyedBuffer


Copyright © 2003 Apache Web Services Project. All Rights Reserved.