diff options
Diffstat (limited to 'qpid/java')
2 files changed, 27 insertions, 0 deletions
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java index 6e104f844f..c0152d9ca4 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java +++ b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java @@ -47,6 +47,7 @@ import org.eclipse.jetty.servlet.FilterHolder; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; import org.eclipse.jetty.util.ssl.SslContextFactory; +import org.eclipse.jetty.util.thread.QueuedThreadPool; import org.apache.qpid.server.configuration.IllegalConfigurationException; import org.apache.qpid.server.logging.messages.ManagementConsoleMessages; @@ -175,7 +176,17 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem _logger.info("Starting up web server on " + ports); } _allowPortActivation = true; + Server server = new Server(); + + QueuedThreadPool threadPool = new QueuedThreadPool(); + threadPool.setName("HttpManagement"); + threadPool.setMaxQueued(getContextValue(Integer.class, JETTY_THREAD_POOL_MAX_QUEUED)); + threadPool.setMaxThreads(getContextValue(Integer.class, JETTY_THREAD_POOL_MAX_THREADS)); + threadPool.setMinThreads(getContextValue(Integer.class, JETTY_THREAD_POOL_MIN_THREADS)); + + server.setThreadPool(threadPool); + int lastPort = -1; for (Port<?> port : ports) { diff --git a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementConfiguration.java b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementConfiguration.java index 9eef1a6e5c..1be42a0fcd 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementConfiguration.java +++ b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementConfiguration.java @@ -56,5 +56,21 @@ public interface HttpManagementConfiguration<X extends HttpManagementConfigurati @ManagedContextDefault( name = MAX_HTTP_FILE_UPLOAD_SIZE_CONTEXT_NAME) static final long DEFAULT_MAX_UPLOAD_SIZE = 100 * 1024; + + String JETTY_THREAD_POOL_MAX_QUEUED = "jetty.threadPool.maxQueued"; + @ManagedContextDefault( name = JETTY_THREAD_POOL_MAX_QUEUED) + static final long DEFAULT_JETTY_THREAD_POOL_MAX_QUEUED = 1000; + + String JETTY_THREAD_POOL_MAX_THREADS = "jetty.threadPool.maxThreads"; + @ManagedContextDefault( name = JETTY_THREAD_POOL_MAX_THREADS) + static final long DEFAULT_JETTY_THREAD_POOL_MAX_THREADS = 10; + + + String JETTY_THREAD_POOL_MIN_THREADS = "jetty.threadPool.minThreads"; + @ManagedContextDefault( name = JETTY_THREAD_POOL_MIN_THREADS) + static final long DEFAULT_JETTY_THREAD_POOL_MIN_THREADS = 1; + + + AuthenticationProvider getAuthenticationProvider(SocketAddress localAddress); } |
