From: markt Date: Tue, 15 Sep 2009 21:06:14 +0000 (+0000) Subject: Fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=47161 X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=012e9243452d13900a0b906f1b6622831b7ea751;p=tomcat7.0 Fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=47161 Correctly report maxThreads Note 6.0.x will need a different fix as it still uses threadpools git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@815486 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/tomcat/util/net/AbstractEndpoint.java b/java/org/apache/tomcat/util/net/AbstractEndpoint.java index adfe9d478..13f4f81d7 100644 --- a/java/org/apache/tomcat/util/net/AbstractEndpoint.java +++ b/java/org/apache/tomcat/util/net/AbstractEndpoint.java @@ -209,7 +209,19 @@ public abstract class AbstractEndpoint { } } } - public int getMaxThreads() { return maxThreads; } + public int getMaxThreads() { + if (running && executor!=null) { + if (executor instanceof java.util.concurrent.ThreadPoolExecutor) { + return ((java.util.concurrent.ThreadPoolExecutor)executor).getMaximumPoolSize(); + } else if (executor instanceof ResizableExecutor) { + return ((ResizableExecutor)executor).getMaxThreads(); + } else { + return -1; + } + } else { + return maxThreads; + } + } /** * Max keep alive requests diff --git a/java/org/apache/tomcat/util/threads/ResizableExecutor.java b/java/org/apache/tomcat/util/threads/ResizableExecutor.java index 3d137e39b..2a411afb4 100644 --- a/java/org/apache/tomcat/util/threads/ResizableExecutor.java +++ b/java/org/apache/tomcat/util/threads/ResizableExecutor.java @@ -25,6 +25,8 @@ public interface ResizableExecutor extends Executor { */ public int getPoolSize(); + public int getMaxThreads(); + /** * {@link java.util.concurrent.ThreadPoolExecutor#getActiveCount()} * @return {@link java.util.concurrent.ThreadPoolExecutor#getActiveCount()}