java.lang.Object
org.activemq.capacity.BasicCapacityMonitor
org.activemq.io.util.MemoryBoundedObjectManager
- All Implemented Interfaces:
- org.activemq.capacity.CapacityMonitor
- public class MemoryBoundedObjectManager
- extends org.activemq.capacity.BasicCapacityMonitor
Keeps track of MemoryBoundedObjects
- Version:
- $Revision: 1.1.1.1 $
| Nested classes inherited from class org.activemq.capacity.CapacityMonitor |
org.activemq.capacity.CapacityMonitor.BasicCapacityMonitor |
| Methods inherited from class org.activemq.capacity.BasicCapacityMonitor |
addCapacityEventListener, generateCapacityMonitorEvent, getCurrentCapacity, getCurrentValue, getName, getRoundedCapacity, getRoundingFactor, getValueLimit, removeCapacityEventListener, setCurrentValue, setName, setRoundingFactor, setValueLimit |
totalMemoryUsedSize
private final SynchronizedLong totalMemoryUsedSize
managedObjects
private final java.util.HashSet managedObjects
closed
boolean closed
supportJMSPriority
private boolean supportJMSPriority
MemoryBoundedObjectManager
public MemoryBoundedObjectManager(java.lang.String name,
long maxSize)
MemoryBoundedObjectManager
public MemoryBoundedObjectManager(java.lang.String name,
long maxSize,
boolean supportJMSPriority)
add
public void add(MemoryBoundedObject o)
close
public void close()
- close this queue manager and all associated MemoryBoundedQueues
remove
public void remove(MemoryBoundedObject o)
getTotalMemoryUsedSize
public long getTotalMemoryUsedSize()
isFull
public boolean isFull()
getPercentFull
public float getPercentFull()
incrementMemoryUsed
public void incrementMemoryUsed(int size)
decrementMemoryUsed
public void decrementMemoryUsed(int size)
finalize
protected void finalize()
- Description copied from class:
java.lang.Object
- Called on an object by the Virtual Machine at most once,
at some point after the Object is determined unreachable
but before it is destroyed. You would think that this
means it eventually is called on every Object, but this is
not necessarily the case. If execution terminates
abnormally, garbage collection does not always happen.
Thus you cannot rely on this method to always work.
For finer control over garbage collection, use references
from the
java.lang.ref package.
Virtual Machines are free to not call this method if
they can determine that it does nothing important; for
example, if your class extends Object and overrides
finalize to do simply super.finalize().
finalize() will be called by a java.lang.Thread that has no
locks on any Objects, and may be called concurrently.
There are no guarantees on the order in which multiple
objects are finalized. This means that finalize() is
usually unsuited for performing actions that must be
thread-safe, and that your implementation must be
use defensive programming if it is to always work.
If an Exception is thrown from finalize() during garbage
collection, it will be patently ignored and the Object will
still be destroyed.
It is allowed, although not typical, for user code to call
finalize() directly. User invocation does not affect whether
automatic invocation will occur. It is also permitted,
although not recommended, for a finalize() method to "revive"
an object by making it reachable from normal code again.
Unlike constructors, finalize() does not get called
for an object's superclass unless the implementation
specifically calls super.finalize().
The default implementation does nothing.
isSupportJMSPriority
public boolean isSupportJMSPriority()
setSupportJMSPriority
public void setSupportJMSPriority(boolean supportJMSPriority)