org.apache.axis.transport.jms

Class JMSConnectorManager.ShareableObjectPool

public class JMSConnectorManager.ShareableObjectPool extends Object

A simple non-blocking pool impl for objects that can be shared. Only a ref count is necessary to prevent collisions at shutdown. Todo: max size, cleanup stale connections
Nested Class Summary
classJMSConnectorManager.ShareableObjectPool.ReferenceCountedObject
Wrapper to track the use count of an object
Constructor Summary
ShareableObjectPool()
Method Summary
voidaddObject(Object obj)
Adds the object to the pool, if not already added
SetgetElements()
voidrelease(Object obj)
Decrements the connector's reference count
voidremoveObject(Object obj, long waitTime)
Removes the object from the pool.
voidremoveObject(Object obj)
voidreserve(Object obj)
Marks the connector as in use by incrementing the connector's reference count
intsize()

Constructor Detail

ShareableObjectPool

public ShareableObjectPool()

Method Detail

addObject

public void addObject(Object obj)
Adds the object to the pool, if not already added

getElements

public Set getElements()

release

public void release(Object obj)
Decrements the connector's reference count

removeObject

public void removeObject(Object obj, long waitTime)
Removes the object from the pool. If the object is reserved, waits the specified time before forcibly removing Todo: check expirations with the next request instead of holding up the current request

removeObject

public void removeObject(Object obj)

reserve

public void reserve(Object obj)
Marks the connector as in use by incrementing the connector's reference count

size

public int size()
Copyright B) 2005 Apache Web Services Project. All Rights Reserved.