summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java11
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementConfiguration.java16
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);
}