Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.activemq.io.util
Class MemoryBoundedObjectManager  view MemoryBoundedObjectManager download MemoryBoundedObjectManager.java

java.lang.Object
  extended byorg.activemq.capacity.BasicCapacityMonitor
      extended byorg.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 Class Summary
 
Nested classes inherited from class org.activemq.capacity.CapacityMonitor
org.activemq.capacity.CapacityMonitor.BasicCapacityMonitor
 
Field Summary
(package private)  boolean closed
           
private  java.util.HashSet managedObjects
           
private  boolean supportJMSPriority
           
private  SynchronizedLong totalMemoryUsedSize
           
 
Fields inherited from class org.activemq.capacity.BasicCapacityMonitor
 
Constructor Summary
MemoryBoundedObjectManager(java.lang.String name, long maxSize)
           
MemoryBoundedObjectManager(java.lang.String name, long maxSize, boolean supportJMSPriority)
           
 
Method Summary
 void add(MemoryBoundedObject o)
           
 void close()
          close this queue manager and all associated MemoryBoundedQueues
 void decrementMemoryUsed(int size)
           
protected  void finalize()
          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.
 float getPercentFull()
           
 long getTotalMemoryUsedSize()
           
 void incrementMemoryUsed(int size)
           
 boolean isFull()
           
 boolean isSupportJMSPriority()
           
 void remove(MemoryBoundedObject o)
           
 void setSupportJMSPriority(boolean supportJMSPriority)
           
 
Methods inherited from class org.activemq.capacity.BasicCapacityMonitor
addCapacityEventListener, generateCapacityMonitorEvent, getCurrentCapacity, getCurrentValue, getName, getRoundedCapacity, getRoundingFactor, getValueLimit, removeCapacityEventListener, setCurrentValue, setName, setRoundingFactor, setValueLimit
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

totalMemoryUsedSize

private final SynchronizedLong totalMemoryUsedSize

managedObjects

private final java.util.HashSet managedObjects

closed

boolean closed

supportJMSPriority

private boolean supportJMSPriority
Constructor Detail

MemoryBoundedObjectManager

public MemoryBoundedObjectManager(java.lang.String name,
                                  long maxSize)

MemoryBoundedObjectManager

public MemoryBoundedObjectManager(java.lang.String name,
                                  long maxSize,
                                  boolean supportJMSPriority)
Method Detail

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)