Package 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.ObjectA 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
Nested Classes Modifier and Type Class Description classJMSConnectorManager.ShareableObjectPool.ReferenceCountedObjectWrapper to track the use count of an object
-
Constructor Summary
Constructors Constructor Description ShareableObjectPool()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddObject(java.lang.Object obj)Adds the object to the pool, if not already addedjava.util.SetgetElements()voidrelease(java.lang.Object obj)Decrements the connector's reference countvoidremoveObject(java.lang.Object obj)voidremoveObject(java.lang.Object obj, long waitTime)Removes the object from the pool.voidreserve(java.lang.Object obj)Marks the connector as in use by incrementing the connector's reference countintsize()
-
-
-
Method Detail
-
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.ExceptionMarks the connector as in use by incrementing the connector's reference count- Throws:
java.lang.Exception
-
release
public void release(java.lang.Object obj)
Decrements the connector's reference count
-
getElements
public java.util.Set getElements()
-
size
public int size()
-
-