org.apache.activemq.usage
Class Usage<T extends Usage>
java.lang.Object
org.apache.activemq.usage.Usage<T>
- All Implemented Interfaces:
- Service
- Direct Known Subclasses:
- MemoryUsage, StoreUsage, TempUsage
public abstract class Usage<T extends Usage>
- extends Object
- implements Service
Used to keep track of how much of something is being used so that a
productive working set usage can be controlled. Main use case is manage
memory usage.
- Version:
- $Revision: 1.3 $
Constructor Summary |
Usage(T parent,
String name,
float portion)
|
usageMutex
protected final Object usageMutex
percentUsage
protected int percentUsage
parent
protected T extends Usage parent
Usage
public Usage(T parent,
String name,
float portion)
retrieveUsage
protected abstract long retrieveUsage()
waitForSpace
public void waitForSpace()
throws InterruptedException
- Throws:
InterruptedException
waitForSpace
public boolean waitForSpace(long timeout)
throws InterruptedException
- Parameters:
timeout
-
- Returns:
- true if space
- Throws:
InterruptedException
isFull
public boolean isFull()
addUsageListener
public void addUsageListener(UsageListener listener)
removeUsageListener
public void removeUsageListener(UsageListener listener)
getLimit
public long getLimit()
setLimit
public void setLimit(long limit)
- Sets the memory limit in bytes. Setting the limit in bytes will set the
usagePortion to 0 since the UsageManager is not going to be portion based
off the parent.
When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used
onLimitChange
protected void onLimitChange()
getUsagePortion
public float getUsagePortion()
setUsagePortion
public void setUsagePortion(float usagePortion)
getPercentUsage
public int getPercentUsage()
getPercentUsageMinDelta
public int getPercentUsageMinDelta()
setPercentUsageMinDelta
public void setPercentUsageMinDelta(int percentUsageMinDelta)
- Sets the minimum number of percentage points the usage has to change
before a UsageListener event is fired by the manager.
- Parameters:
percentUsageMinDelta
-
getUsage
public long getUsage()
setPercentUsage
protected void setPercentUsage(int value)
caclPercentUsage
protected int caclPercentUsage()
getName
public String getName()
toString
public String toString()
- Overrides:
toString
in class Object
start
public void start()
- Specified by:
start
in interface Service
stop
public void stop()
- Specified by:
stop
in interface Service
notifyCallbackWhenNotFull
public boolean notifyCallbackWhenNotFull(Runnable callback)
- Parameters:
callback
-
- Returns:
- true if the UsageManager was full. The callback will only be
called if this method returns true.
getLimiter
public UsageCapacity getLimiter()
- Returns:
- the limiter
setLimiter
public void setLimiter(UsageCapacity limiter)
- Parameters:
limiter
- the limiter to set
getPollingTime
public int getPollingTime()
- Returns:
- the pollingTime
setPollingTime
public void setPollingTime(int pollingTime)
- Parameters:
pollingTime
- the pollingTime to set
setName
public void setName(String name)
getParent
public T getParent()
setParent
public void setParent(T parent)
getExecutor
protected Executor getExecutor()
Copyright © 2005-2009 The Apache Software Foundation. All Rights Reserved.