summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-10-21 17:48:03 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-10-21 17:48:03 +0000
commit84ad8e898f41e2511ff65f4a0cd92340c1435a06 (patch)
treeaf828a45b84c871ba2f51f03d02ea7ad8127a15f /qpid/java
parentab3ddc5979bf88c83e97079a130f378d8388e786 (diff)
downloadqpid-python-84ad8e898f41e2511ff65f4a0cd92340c1435a06.tar.gz
QPID-6174 : Expose settings for restricting number of threads / queued jobs in HTTP management server
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1633424 13f79535-47bb-0310-9956-ffa450edef68
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);
}