Expose Jetty JMX extensions
Jetty by default provides set of MBeans that can be registered in JMX. This patch adds new configuration option called httpd.registerMBeans, by default set to false, to control this behavior. Change-Id: I3771ed3bb755240d7d90e9f1f1d7e7f84ff33ce3 Signed-off-by: Dariusz Luksza <dariusz@luksza.org>
This commit is contained in:
@@ -115,6 +115,7 @@ java_library2(
|
||||
'//lib/guice:guice-servlet',
|
||||
'//lib/jetty:server',
|
||||
'//lib/jetty:servlet',
|
||||
'//lib/jetty:jmx',
|
||||
'//lib/jgit:jgit',
|
||||
'//lib/log:api',
|
||||
'//lib/log:log4j',
|
||||
|
||||
@@ -39,6 +39,7 @@ import com.google.inject.servlet.GuiceFilter;
|
||||
import com.google.inject.servlet.GuiceServletContextListener;
|
||||
|
||||
import org.eclipse.jetty.http.HttpScheme;
|
||||
import org.eclipse.jetty.jmx.MBeanContainer;
|
||||
import org.eclipse.jetty.server.Connector;
|
||||
import org.eclipse.jetty.server.ForwardedRequestCustomizer;
|
||||
import org.eclipse.jetty.server.Handler;
|
||||
@@ -58,6 +59,7 @@ import org.eclipse.jetty.servlet.FilterHolder;
|
||||
import org.eclipse.jetty.servlet.ServletContextHandler;
|
||||
import org.eclipse.jetty.servlet.ServletHolder;
|
||||
import org.eclipse.jetty.util.BlockingArrayQueue;
|
||||
import org.eclipse.jetty.util.log.Log;
|
||||
import org.eclipse.jetty.util.resource.Resource;
|
||||
import org.eclipse.jetty.util.ssl.SslContextFactory;
|
||||
import org.eclipse.jetty.util.thread.QueuedThreadPool;
|
||||
@@ -75,6 +77,7 @@ import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InterruptedIOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.lang.management.ManagementFactory;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
@@ -171,6 +174,13 @@ public class JettyServer {
|
||||
handler.setHandler(app);
|
||||
app = handler;
|
||||
}
|
||||
if (cfg.getBoolean("httpd", "registerMBeans", false)) {
|
||||
MBeanContainer mbean =
|
||||
new MBeanContainer(ManagementFactory.getPlatformMBeanServer());
|
||||
httpd.addEventListener(mbean);
|
||||
httpd.addBean(Log.getRootLogger());
|
||||
httpd.addBean(mbean);
|
||||
}
|
||||
|
||||
httpd.setHandler(app);
|
||||
httpd.setStopAtShutdown(false);
|
||||
|
||||
Reference in New Issue
Block a user