Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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