You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2016/10/31 12:10:23 UTC
svn commit: r1767259 - in /tomcat/trunk:
java/org/apache/catalina/connector/Connector.java
java/org/apache/catalina/storeconfig/ConnectorStoreAppender.java
webapps/docs/changelog.xml
Author: markt
Date: Mon Oct 31 12:10:22 2016
New Revision: 1767259
URL: http://svn.apache.org/viewvc?rev=1767259&view=rev
Log:
When a Connector is configured to use an executor, ensure that the StoreConfig component includes the executor name when writing the Connector configuration.
Modified:
tomcat/trunk/java/org/apache/catalina/connector/Connector.java
tomcat/trunk/java/org/apache/catalina/storeconfig/ConnectorStoreAppender.java
tomcat/trunk/webapps/docs/changelog.xml
Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Connector.java?rev=1767259&r1=1767258&r2=1767259&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Connector.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Connector.java Mon Oct 31 12:10:22 2016
@@ -59,6 +59,9 @@ public class Connector extends Lifecycle
Boolean.parseBoolean(System.getProperty("org.apache.catalina.connector.RECYCLE_FACADES", "false"));
+ public static final String INTERNAL_EXECUTOR_NAME = "Internal";
+
+
// ------------------------------------------------------------ Constructor
/**
@@ -788,7 +791,7 @@ public class Connector extends Lifecycle
if (obj instanceof org.apache.catalina.Executor) {
return ((org.apache.catalina.Executor) obj).getName();
}
- return "Internal";
+ return INTERNAL_EXECUTOR_NAME;
}
Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/ConnectorStoreAppender.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/ConnectorStoreAppender.java?rev=1767259&r1=1767258&r2=1767259&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/storeconfig/ConnectorStoreAppender.java (original)
+++ tomcat/trunk/java/org/apache/catalina/storeconfig/ConnectorStoreAppender.java Mon Oct 31 12:10:22 2016
@@ -25,8 +25,10 @@ import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
+import java.util.Set;
import org.apache.catalina.connector.Connector;
import org.apache.coyote.ProtocolHandler;
@@ -43,6 +45,7 @@ import org.apache.tomcat.util.net.Socket
public class ConnectorStoreAppender extends StoreAppender {
protected static final HashMap<String, String> replacements = new HashMap<>();
+ protected static final Set<String> internalExecutorAttributes = new HashSet<>();
static {
replacements.put("timeout", "connectionUploadTimeout");
replacements.put("clientauth", "clientAuth");
@@ -52,6 +55,10 @@ public class ConnectorStoreAppender exte
replacements.put("keytype", "keystoreType");
replacements.put("protocol", "sslProtocol");
replacements.put("protocols", "sslProtocols");
+
+ internalExecutorAttributes.add("maxThreads");
+ internalExecutorAttributes.add("minSpareThreads");
+ internalExecutorAttributes.add("threadPriority");
}
@Override
@@ -93,8 +100,13 @@ public class ConnectorStoreAppender exte
printValue(writer, indent, key, value);
}
}
- if (protocol != null && !"HTTP/1.1".equals(protocol))
+ if (protocol != null && !"HTTP/1.1".equals(protocol)) {
super.printValue(writer, indent, "protocol", protocol);
+ }
+ String executorName = connector.getExecutorName();
+ if (!Connector.INTERNAL_EXECUTOR_NAME.equals(executorName)) {
+ super.printValue(writer, indent, "executor", executorName);
+ }
}
@@ -103,7 +115,7 @@ public class ConnectorStoreAppender exte
*
* @param bean The connector
* @return List of Connector property names
- * @throws IntrospectionException Error intropecting connector
+ * @throws IntrospectionException Error introspecting connector
*/
protected List<String> getPropertyKeys(Connector bean)
throws IntrospectionException {
@@ -147,6 +159,10 @@ public class ConnectorStoreAppender exte
continue; // Must be a read-write primitive or String
}
String key = descriptor.getName();
+ if (!Connector.INTERNAL_EXECUTOR_NAME.equals(bean.getExecutorName()) &&
+ internalExecutorAttributes.contains(key)) {
+ continue;
+ }
if (replacements.get(key) != null) {
key = replacements.get(key);
}
Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1767259&r1=1767258&r2=1767259&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Mon Oct 31 12:10:22 2016
@@ -92,6 +92,11 @@
detection enabled (the default) but without the command line option it
now requires. (markt)
</add>
+ <fix>
+ When a Connector is configured to use an executor, ensure that the
+ StoreConfig component includes the executor name when writing the
+ Connector configuration. (markt)
+ </fix>
</changelog>
</subsection>
<subsection name="Coyote">
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org