try
{
final CallFlowMonitorImpl callFlow = new CallFlowMonitorImpl();
final String serverName = BootUtil.getInstance().getServerName();
String props = Util.makeRequiredProps( XTypes.CALL_FLOW_MONITOR, serverName );
props = Util.concatenateProps( props,
Util.makeProp( XTypes.SERVER_ROOT_MONITOR, serverName ) );
final ObjectName proposedName = Util.newObjectName(
BootUtil.getInstance().getAMXJMXDomainName(), props );
final ObjectName objectName =
getMBeanServer().registerMBean( callFlow, proposedName ).getObjectName();
debug( "Loaded CallFlowMonitor as " + JMXUtil.toString( objectName ) );
}
catch( Exception e )
{
final Throwable rootCause = ExceptionUtil.getRootCause(e);
final String msg = "Exception creating/loading CallFlowMonitor: " +
rootCause + ", msg=" + rootCause.getMessage();
debug( msg );
getMBeanLogger().log( Level.WARNING, msg, rootCause );
}