## 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

Nested Class Summary
`class` `JMSConnectorManager.ShareableObjectPool.ReferenceCountedObject` Wrapper to track the use count of an object

Constructor Summary
`JMSConnectorManager.ShareableObjectPool()`

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`

Constructor Detail

### JMSConnectorManager.ShareableObjectPool

    public JMSConnectorManager.ShareableObjectPool()

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.Exception

  Marks 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()

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