org.javasimon.jmx
Class JmxRegisterCallback

java.lang.Object
  extended by org.javasimon.callback.CallbackSkeleton
      extended by org.javasimon.jmx.JmxRegisterCallback
All Implemented Interfaces:
Callback

public class JmxRegisterCallback
extends CallbackSkeleton

Callback that registers MXBeans for Simons after their creation. It is advisable to register the callback as soon as possible otherwise MX Beans for some Simons may not be created. Class can be extended in order to override constructObjectName(Simon).

Author:
Richard "Virgo" Richter

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.javasimon.callback.Callback
Callback.Event
 
Field Summary
protected  String domain
          Domain part of the JMX object name - protected for subclasses.
protected  MBeanServer mBeanServer
          MBean server instance specified for this callback (or default platform one) - protected for subclasses.
private  Set<String> registeredNames
           
 
Constructor Summary
JmxRegisterCallback(MBeanServer mBeanServer, String domain)
          Constructor using specific MBeanServer.
JmxRegisterCallback(String domain)
          Default constructor uses default MBeanServer.
 
Method Summary
protected  SimonSuperMXBean constructObject(Simon simon)
          Constructs JMX object from Simon object.
protected  String constructObjectName(Simon simon)
          Constructs JMX object name from Simon object.
 void onManagerClear()
          When the manager is cleared, all MX beans for its Simons are unregistered.
 void onSimonCreated(Simon simon)
          After Simon is created respective MX bean is registered for it according to its type.
 void onSimonDestroyed(Simon simon)
          When the Simon is destroyed, its MX bean is unregistered.
protected  void register(Simon simon)
          Method registering Simon MX Bean - can not be overridden, but can be used in subclasses.
protected  String simonType(Simon simon)
          Returns type of the simon as defined in SimonInfo.COUNTER, SimonInfo.STOPWATCH or SimonInfo.UNKNOWN.
 
Methods inherited from class org.javasimon.callback.CallbackSkeleton
cleanup, initialize, onCounterDecrease, onCounterIncrease, onCounterSet, onManagerMessage, onManagerWarning, onSimonReset, onStopwatchAdd, onStopwatchAdd, onStopwatchStart, onStopwatchStop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

domain

protected String domain
Domain part of the JMX object name - protected for subclasses.


mBeanServer

protected MBeanServer mBeanServer
MBean server instance specified for this callback (or default platform one) - protected for subclasses.


registeredNames

private Set<String> registeredNames
Constructor Detail

JmxRegisterCallback

public JmxRegisterCallback(String domain)
Default constructor uses default MBeanServer.

Parameters:
domain - domain part of the object name

JmxRegisterCallback

public JmxRegisterCallback(MBeanServer mBeanServer,
                           String domain)
Constructor using specific MBeanServer.

Parameters:
mBeanServer - specific MBeanServer
domain - domain part of the object name
Method Detail

onSimonCreated

public final void onSimonCreated(Simon simon)
After Simon is created respective MX bean is registered for it according to its type.

Specified by:
onSimonCreated in interface Callback
Overrides:
onSimonCreated in class CallbackSkeleton
Parameters:
simon - created Simon

onSimonDestroyed

public final void onSimonDestroyed(Simon simon)
When the Simon is destroyed, its MX bean is unregistered.

Specified by:
onSimonDestroyed in interface Callback
Overrides:
onSimonDestroyed in class CallbackSkeleton
Parameters:
simon - destroyed Simon

onManagerClear

public final void onManagerClear()
When the manager is cleared, all MX beans for its Simons are unregistered.

Specified by:
onManagerClear in interface Callback
Overrides:
onManagerClear in class CallbackSkeleton

register

protected final void register(Simon simon)
Method registering Simon MX Bean - can not be overridden, but can be used in subclasses.

Parameters:
simon - Simon MX Bean to be registered
Since:
3.1

constructObject

protected SimonSuperMXBean constructObject(Simon simon)
Constructs JMX object from Simon object. Method can be overridden.

Parameters:
simon - Simon object
Returns:
JMX object (=MBean) representing the Simon

constructObjectName

protected String constructObjectName(Simon simon)
Constructs JMX object name from Simon object. Method can be overridden.

Parameters:
simon - Simon object
Returns:
object name in String form

simonType

protected String simonType(Simon simon)
Returns type of the simon as defined in SimonInfo.COUNTER, SimonInfo.STOPWATCH or SimonInfo.UNKNOWN.

Parameters:
simon - Simon object
Returns:
type of the Simon as String


Copyright © 2013. All Rights Reserved.