org.apache.axis.transport.jms
Class JMSConnectorManager.ShareableObjectPool
java.lang.Object
org.apache.axis.transport.jms.JMSConnectorManager.ShareableObjectPool
- JMSConnectorManager
public class JMSConnectorManager.ShareableObjectPool
extends java.lang.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
void | addObject(Object obj) - Adds the object to the pool, if not already added
|
java.util.Set | getElements()
|
void | release(Object obj) - Decrements the connector's reference count
|
void | removeObject(Object obj)
|
void | removeObject(Object obj, long waitTime) - Removes the object from the pool.
|
void | reserve(Object obj) - Marks the connector as in use by incrementing the connector's reference count
|
int | size()
|
ShareableObjectPool
public ShareableObjectPool()
addObject
public void addObject(Object obj)
Adds the object to the pool, if not already added
getElements
public java.util.Set getElements()
release
public void release(Object obj)
Decrements the connector's reference count
removeObject
public void removeObject(Object obj)
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
reserve
public void reserve(Object obj)
throws Exception
Marks the connector as in use by incrementing the connector's reference count
Copyright B) 2005 Apache Web Services Project. All Rights Reserved.