/**
* enabled if mx4j is in classpath
*/
protected static boolean maybeEnableJMXHttp() {
try {
MonitorConf config = DispatcherConfig.getInstance().getMonitorConf();
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
ObjectName processorName = new ObjectName("Server:name=XSLTProcessor");
Class<?> httpAdaptorClass = Class.forName("mx4j.tools.adaptor.http.HttpAdaptor");
Object httpAdaptor = httpAdaptorClass.newInstance();
httpAdaptorClass.getMethod("setHost", String.class).invoke(httpAdaptor, config.getJmxHttpHost());
httpAdaptorClass.getMethod("setPort", Integer.TYPE).invoke(httpAdaptor, config.getJmxHttpPort());
ObjectName httpName = new ObjectName("system:name=http");
mbs.registerMBean(httpAdaptor, httpName);
Class<?> xsltProcessorClass = Class.forName("mx4j.tools.adaptor.http.XSLTProcessor");
Object xsltProcessor = xsltProcessorClass.newInstance();
httpAdaptorClass.getMethod("setProcessor", Class.forName("mx4j.tools.adaptor.http.ProcessorMBean")).
invoke(httpAdaptor, xsltProcessor);
mbs.registerMBean(xsltProcessor, processorName);
httpAdaptorClass.getMethod("start").invoke(httpAdaptor);
_logger.info("mx4j successfuly loaded at " + config.getJmxHttpHost() + ":" + config.getJmxHttpPort());
return true;
}
catch (ClassNotFoundException e)
{
_logger.info("Will not load MX4J, mx4j-tools.jar is not in the classpath");