org.wegra.mon.mem
Class LoggableMemoryMonitor

java.lang.Object
  extended byorg.wegra.mon.mem.MemoryMonitor
      extended byorg.wegra.mon.mem.LoggableMemoryMonitor
All Implemented Interfaces:
Monitor, Subscriber

public class LoggableMemoryMonitor
extends MemoryMonitor

Loggable memory monitor.
You can set J2SE Logging Mechanism's Handler interface to handle log message in special way (storing to FileSystem, Database, Remote network, just display to screen, etc..).

Author:
wegra (Bok-Youn Lee)

Field Summary
 
Fields inherited from class org.wegra.mon.mem.MemoryMonitor
fActiveSubscribers, fMonitor, fWaitingSubscribers
 
Constructor Summary
LoggableMemoryMonitor(java.util.logging.Handler handler)
          Creates LoggableMemoryMonitor wraps default memory monitor.
LoggableMemoryMonitor(MemoryMonitor monitor, java.util.logging.Handler handler)
          Creates LoggableMemoryMonitor wraps specified memory monitor.
 
Method Summary
 void hostStoppedPre()
          This method will be executed before hostStopped() method.
 void invokeGc()
          Invokes garbage collector.
 boolean isLoggable()
           
 void reset()
          Resets the monitor.
 void resultReceivedPre(long total, long free)
          This method will be executed before resultReceived() method.
 void setLoggable(boolean loggable)
          Sets loggable.
 void setMonitoringRate(long rate)
          Sets monitoring rate (unit: millisecond).
 void start()
          Starts monitoring.
 void stop()
          Stops monitoring.
 
Methods inherited from class org.wegra.mon.mem.MemoryMonitor
getActiveSubscribers, getDefault, getHost, getMaxMemory, getMonitoringRate, getPeakCharge, getSubscribers, getWaitingSubscribers, hostStopped, hostStoppedPost, isHost, messageDelivered, messageDeliveredPost, messageDeliveredPre, register, resultReceived, resultReceivedPost, resumeSubscribing, sendMessage, unregister, waitSubscribing
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LoggableMemoryMonitor

public LoggableMemoryMonitor(java.util.logging.Handler handler)
Creates LoggableMemoryMonitor wraps default memory monitor. You can set Handler to handle log message in special way.

Parameters:
handler - Log message handler.

LoggableMemoryMonitor

public LoggableMemoryMonitor(MemoryMonitor monitor,
                             java.util.logging.Handler handler)
Creates LoggableMemoryMonitor wraps specified memory monitor. You can set Handler to handle log message in special way.

Parameters:
monitor - Internal memory monitor.
handler - Log message handler.
Method Detail

setLoggable

public final void setLoggable(boolean loggable)
Sets loggable.


isLoggable

public final boolean isLoggable()
Returns:
True if it's loggable. Otherwise false.

resultReceivedPre

public void resultReceivedPre(long total,
                              long free)
This method will be executed before resultReceived() method. You can override this method if you have any works to do before propagating each monitoring result. Logs action history if loggable.

Overrides:
resultReceivedPre in class MemoryMonitor
Parameters:
total - total allocated memory.
free - free memory.

hostStoppedPre

public void hostStoppedPre()
This method will be executed before hostStopped() method. You can override this method if you have any works to do before propagating each host stopped message. Logs action history if loggable.

Overrides:
hostStoppedPre in class MemoryMonitor

invokeGc

public void invokeGc()
Invokes garbage collector. Decorates internal MemoryMonitor's invokeGc() method. Logs action history if loggable.

Overrides:
invokeGc in class MemoryMonitor

start

public void start()
Starts monitoring. Decorates internal MemoryMonitor's start() method. Logs action history if loggable.

Specified by:
start in interface Monitor
Overrides:
start in class MemoryMonitor

stop

public void stop()
Stops monitoring. Decorates internal MemoryMonitor's stop() method. Logs action history if loggable.

Specified by:
stop in interface Monitor
Overrides:
stop in class MemoryMonitor

setMonitoringRate

public void setMonitoringRate(long rate)
Sets monitoring rate (unit: millisecond). Decorates internal MemoryMonitor's setMonitoringRate() method. Logs action history if loggable.

Specified by:
setMonitoringRate in interface Monitor
Overrides:
setMonitoringRate in class MemoryMonitor

reset

public void reset()
Resets the monitor. Decorates internal MemoryMonitor's reset() method. Logs action history if loggable.

Specified by:
reset in interface Monitor
Overrides:
reset in class MemoryMonitor