org.apache.axis.transport.jms
Class JMSConnectorManager.ShareableObjectPool
java.lang.Object
|
+--org.apache.axis.transport.jms.JMSConnectorManager.ShareableObjectPool
- Enclosing class:
- 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
Method Summary |
void |
addObject(java.lang.Object obj)
Adds the object to the pool, if not already added |
java.util.Set |
getElements()
|
void |
release(java.lang.Object obj)
Decrements the connector's reference count |
void |
removeObject(java.lang.Object obj)
|
void |
removeObject(java.lang.Object obj,
long waitTime)
Removes the object from the pool. |
void |
reserve(java.lang.Object obj)
Marks the connector as in use by incrementing the connector's reference count |
int |
size()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
JMSConnectorManager.ShareableObjectPool
public JMSConnectorManager.ShareableObjectPool()
addObject
public void addObject(java.lang.Object obj)
- Adds the object to the pool, if not already added
removeObject
public void removeObject(java.lang.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(java.lang.Object obj)
reserve
public void reserve(java.lang.Object obj)
throws java.lang.Exception
- Marks the connector as in use by incrementing the connector's reference count
release
public void release(java.lang.Object obj)
- Decrements the connector's reference count
getElements
public java.util.Set getElements()
size
public int size()
Copyright © 2003 Apache Web Services Project. All Rights Reserved.