+1

Jacques

Le 24/09/2014 11:02, Pierre Smits a écrit :
I agree. Most of the times users have a proxy in front of app servers.
Setting this to 'true' would mean additional and unnecessary resource
consumption.

Pierre Smits

*ORRTIZ.COM <http://www.orrtiz.com>*
Services & Solutions for Cloud-
Based Manufacturing, Professional
Services and Retail & Trade
http://www.orrtiz.com

On Wed, Sep 24, 2014 at 10:42 AM, Jacopo Cappellato <
jacopo.cappell...@hotwaxmedia.com> wrote:

Thanks for mentioning this.
My preference would be to use the default value as is in tomcat (i.e.
comment out this setting).
I didn't change its value but I have added the comment as a reminder to
discuss this with you all.

Here is what Tomcat doc says:

"enableLookups:
Set to true if you want calls to request.getRemoteHost() to perform DNS
lookups in order to return the actual host name of the remote client. Set
to false to skip the DNS lookup and return the IP address in String form
instead (thereby improving performance). By default, DNS lookups are
disabled."

Do we agree to change it to use the default value of "false"?

Jacopo


On Sep 24, 2014, at 10:35 AM, Jacques Le Roux <
jacques.le.r...@les7arts.com> wrote:

Hi Jacopo,

I was confused by the enableLookups parameter default value (false)
which is now clearly defined in Tomcat 7.
Confusion came from here:
http://www.baselogic.com/blog/development/java-javaee-j2ee/tomcat-6-connector-option-enablelookups-defaulting-true/
Do you know why are we not using the default value (once again false)?

Jacques

Le 18/09/2014 11:00, jaco...@apache.org a écrit :
Author: jacopoc
Date: Thu Sep 18 09:00:15 2014
New Revision: 1625919

URL: http://svn.apache.org/r1625919
Log:
Simplified and improved the logic to setup the Tomcat connectors: the
logic was overly complex and messed up (probably after all the various
upgrades to new Tomcat versions), there were a series of parameters that
could not be set, some hardcoded values, some old and no more used (by
Tomcat) parameters.
  Improved the information logged about the actual parameters set for
the connectors.
Removed Javolution from CatalinaContainer.
Cleaned up the connector configuration file: removed no more used
parameters, commented out some parameters (that didn't change the default),
commented out some parameters in order to use the Tomcat default values
that may improve the performance (e.g. maxThreads in OFBiz was set to a
lower value than the default one of newer Tomcat releases and this limits
the throughput in default OFBiz setups), updated URLs to Tomcat
documentation.
Modified:
     ofbiz/trunk/framework/catalina/ofbiz-component.xml

  
ofbiz/trunk/framework/catalina/src/org/ofbiz/catalina/container/CatalinaContainer.java
Modified: ofbiz/trunk/framework/catalina/ofbiz-component.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/catalina/ofbiz-component.xml?rev=1625919&r1=1625918&r2=1625919&view=diff
==============================================================================
--- ofbiz/trunk/framework/catalina/ofbiz-component.xml (original)
+++ ofbiz/trunk/framework/catalina/ofbiz-component.xml Thu Sep 18
09:00:15 2014
@@ -66,116 +66,83 @@ under the License.
              <!-- <property name="ssl-accelerator-port" value="8443"/>
-->
              <property name="enable-cross-subdomain-sessions"
value="false"/>
          </property>
-        <!-- all connectors support type, host, port, enable-lookups
-->
          <property name="ajp-connector" value="connector">
-            <!-- see
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/ajp.html for
reference -->
-            <property name="allowTrace" value="false"/>
-            <property name="emptySessionPath" value="false"/>
-            <property name="enableLookups" value="true"/>
-            <property name="maxPostSize" value="2097152"/>
+            <!-- see
http://tomcat.apache.org/tomcat-7.0-doc/config/ajp.html for reference -->
+            <property name="port" value="8009"/>
              <property name="protocol" value="AJP/1.3"/>
-            <property name="proxyName" value=""/>
-            <property name="proxyPort" value=""/>
-            <property name="redirectPort" value=""/>
              <property name="scheme" value="http"/>
              <property name="secure" value="false"/>
              <property name="URIEncoding" value="UTF-8"/>
-            <property name="useBodyEncodingForURI" value="false"/>
              <property name="xpoweredBy" value="true"/>
+            <property name="enableLookups" value="true"/> <!-- set to
false to improve performance (false is the default value in Tomcat) -->
              <!-- AJP/13 connector attributes -->
-            <property name="address" value="0.0.0.0"/>
-            <property name="backlog" value="10"/>
-            <property name="maxSpareThreads" value="50"/>
+            <!-- commented out because the values match the Tomcat
defaults:
+            <property name="tomcatAuthentication" value="true"/>
+            <property name="allowTrace" value="false"/>
+            <property name="maxPostSize" value="2097152"/>
+            <property name="noCompressionUserAgents" value=""/>
+            <property name="connectionLinger" value="-1"/>
+            <property name="connectionTimeout" value="60000"/>
+            <property name="maxHttpHeaderSize" value="8192"/>
+            <property name="maxKeepAliveRequests" value="100"/>
              <property name="maxThreads" value="200"/>
-            <property name="minSpareThreads" value="4"/>
-            <property name="port" value="8009"/>
+            <property name="minSpareThreads" value="10"/>
+            <property name="acceptCount" value="100"/>
+            <property name="restrictedUserAgents" value=""/>
+            <property name="socketBuffer" value="9000"/>
              <property name="tcpNoDelay" value="true"/>
-            <property name="soTimeout" value="60000"/>
-            <property name="tomcatAuthentication" value="true"/>
+            <property name="threadPriority" value="5"/>
+            -->
          </property>
          <property name="http-connector" value="connector">
-            <!-- see
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/http.html for
reference -->
-            <property name="allowTrace" value="false"/>
-            <property name="emptySessionPath" value="false"/>
-            <property name="enableLookups" value="true"/>
-            <property name="maxPostSize" value="2097152"/>
+            <!-- see
http://tomcat.apache.org/tomcat-7.0-doc/config/http.html for reference -->
+            <property name="port" value="8080"/>
              <property name="protocol" value="HTTP/1.1"/>
-            <property name="proxyName" value=""/>
-            <property name="proxyPort" value=""/>
-            <property name="redirectPort" value=""/>
              <property name="scheme" value="http"/>
              <property name="secure" value="false"/>
              <property name="URIEncoding" value="UTF-8"/>
-            <property name="useBodyEncodingForURI" value="false"/>
              <property name="xpoweredBy" value="true"/>
-            <!-- HTTP connector attributes -->
-            <property name="acceptCount" value="10"/>
-            <property name="address" value="0.0.0.0"/>
-            <property name="bufferSize" value="2048"/>
+            <property name="enableLookups" value="true"/> <!-- set to
false to improve performance (false is the default value in Tomcat) -->
              <property name="compression" value="on"/>
              <property name="compressableMimeType"
value="text/html,text/xml,text/plain,text/javascript,text/css"/>
+            <!-- commented out because the values match the Tomcat
defaults:
+            <property name="allowTrace" value="false"/>
+            <property name="maxPostSize" value="2097152"/>
              <property name="noCompressionUserAgents" value=""/>
              <property name="connectionLinger" value="-1"/>
              <property name="connectionTimeout" value="60000"/>
-            <property name="disableUploadTimeout" value="false"/>
              <property name="maxHttpHeaderSize" value="8192"/>
              <property name="maxKeepAliveRequests" value="100"/>
-            <property name="maxSpareThreads" value="50"/>
-            <property name="maxThreads" value="100"/>
-            <property name="minSpareThreads" value="4"/>
-            <property name="port" value="8080"/>
+            <property name="maxThreads" value="200"/>
+            <property name="minSpareThreads" value="10"/>
+            <property name="acceptCount" value="100"/>
              <property name="restrictedUserAgents" value=""/>
-            <property name="server" value=""/>
              <property name="socketBuffer" value="9000"/>
-            <property name="strategy" value="lf"/>
              <property name="tcpNoDelay" value="true"/>
-            <property name="threadPriority"
value="java.lang.Thread#NORM_PRIORITY"/>
+            <property name="threadPriority" value="5"/>
+            -->
          </property>
          <property name="https-connector" value="connector">
-            <!-- see
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/http.html for
reference -->
-            <property name="allowTrace" value="false"/>
-            <property name="emptySessionPath" value="false"/>
-            <property name="enableLookups" value="true"/>
-            <property name="maxPostSize" value="2097152"/>
+            <!-- see
http://tomcat.apache.org/tomcat-7.0-doc/config/http.html for reference -->
+            <property name="port" value="8443"/>
              <property name="protocol" value="HTTP/1.1"/>
-            <property name="proxyName" value=""/>
-            <property name="proxyPort" value=""/>
-            <property name="redirectPort" value=""/>
              <property name="scheme" value="https"/>
              <property name="secure" value="true"/>
+            <property name="SSLEnabled" value="true"/>
              <property name="URIEncoding" value="UTF-8"/>
-            <property name="useBodyEncodingForURI" value="false"/>
              <property name="xpoweredBy" value="true"/>
-            <!-- HTTP connector attributes -->
-            <property name="acceptCount" value="10"/>
-            <property name="address" value="0.0.0.0"/>
-            <property name="bufferSize" value="2048"/>
+            <property name="enableLookups" value="true"/> <!-- set to
false to improve performance (false is the default value in Tomcat) -->
              <property name="compression" value="on"/>
              <property name="compressableMimeType"
value="text/html,text/xml,text/plain,text/javascript,text/css"/>
-            <property name="noCompressionUserAgents" value=""/>
-            <property name="connectionLinger" value="-1"/>
-            <property name="connectionTimeout" value="60000"/>
-            <property name="disableUploadTimeout" value="false"/>
-            <property name="maxHttpHeaderSize" value="8192"/>
-            <property name="maxKeepAliveRequests" value="100"/>
-            <property name="maxSpareThreads" value="50"/>
-            <property name="maxThreads" value="100"/>
-            <property name="minSpareThreads" value="4"/>
-            <property name="port" value="8443"/>
-            <property name="restrictedUserAgents" value=""/>
-            <property name="server" value=""/>
-            <property name="socketBuffer" value="9000"/>
-            <property name="strategy" value="lf"/>
-            <property name="tcpNoDelay" value="true"/>
-            <property name="threadPriority"
value="java.lang.Thread#NORM_PRIORITY"/>
              <!-- SSL connector attributes -->
-            <property name="sSLImplementation"
value="org.ofbiz.catalina.container.SSLImpl"/>
+            <property name="sslImplementationName"
value="org.ofbiz.catalina.container.SSLImpl"/>
              <property name="algorithm" value="SunX509"/>
              <!-- the clientAuth to "want" in order to receive certs
from the client;
                  note that this isn't set this way by default because
with certain browsers
                  (like Safari) it breaks access via HTTPS, so until
that problem is fixed
-                the default will be false -->
+                the default will be false
              <property name="clientAuth" value="false"/>
+            -->
              <property name="keystoreFile"
value="framework/base/config/ofbizssl.jks"/>
              <property name="keystorePass" value="changeit"/>
              <property name="keystoreType" value="JKS"/>
@@ -202,133 +169,40 @@ under the License.
              <property name="access-log-prefix" value="access_log."/>
              <property name="access-log-dir" value="runtime/logs"/>
              <property name="enable-request-dump" value="false"/>
-            <!-- uncomment for cluster support
-            <property name="default-server-cluster" value="cluster">
-                <property name="rep-valve-filter">
-
<property-value>.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;.*\.png;.*\.css;.*\.ico;.*\.htc;</property-value>
-                </property>
-                <property name="manager-class"
value="org.apache.catalina.cluster.session.DeltaManager"/>
-                <property name="debug" value="5"/>
-                <property name="replication-mode"
value="org.apache.catalina.tribes.transport.bio.PooledMultiSender"/>
-                <property name="tcp-listen-host" value="auto"/>
-                <property name="tcp-listen-port" value="4001"/>
-                <property name="tcp-sector-timeout" value="100"/>
-                <property name="tcp-thread-count" value="6"/>
-                <property name="mcast-bind-addr" value="192.168.2.1"/>
-                <property name="mcast-addr" value="224.0.0.1"/>
-                <property name="mcast-port" value="45564"/>
-                <property name="mcast-freq" value="500"/>
-                <property name="mcast-drop-time" value="3000"/>
-            </property>
-            -->
-            <!-- <property name="ssl-accelerator-port" value="8443"/>
-->
          </property>
-        <!-- all connectors support type, host, port, enable-lookups
-->
          <property name="ajp-connector" value="connector">
-            <!-- see
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/ajp.html for
reference -->
-            <property name="allowTrace" value="false"/>
-            <property name="emptySessionPath" value="false"/>
-            <property name="enableLookups" value="true"/>
-            <property name="maxPostSize" value="2097152"/>
+            <property name="port" value="8010"/>
              <property name="protocol" value="AJP/1.3"/>
-            <property name="proxyName" value=""/>
-            <property name="proxyPort" value=""/>
-            <property name="redirectPort" value=""/>
              <property name="scheme" value="http"/>
              <property name="secure" value="false"/>
              <property name="URIEncoding" value="UTF-8"/>
-            <property name="useBodyEncodingForURI" value="false"/>
              <property name="xpoweredBy" value="true"/>
-            <!-- AJP/13 connector attributes -->
-            <property name="address" value="0.0.0.0"/>
-            <property name="backlog" value="10"/>
-            <property name="maxSpareThreads" value="50"/>
-            <property name="maxThreads" value="200"/>
-            <property name="minSpareThreads" value="4"/>
-            <property name="port" value="8010"/>
-            <property name="tcpNoDelay" value="true"/>
-            <property name="soTimeout" value="60000"/>
-            <property name="tomcatAuthentication" value="true"/>
+            <property name="enableLookups" value="true"/>
          </property>
          <property name="http-connector" value="connector">
-            <!-- see
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/http.html for
reference -->
-            <property name="allowTrace" value="false"/>
-            <property name="emptySessionPath" value="false"/>
-            <property name="enableLookups" value="true"/>
-            <property name="maxPostSize" value="2097152"/>
+            <property name="port" value="8080"/>
              <property name="protocol" value="HTTP/1.1"/>
-            <property name="proxyName" value=""/>
-            <property name="proxyPort" value=""/>
-            <property name="redirectPort" value=""/>
              <property name="scheme" value="http"/>
              <property name="secure" value="false"/>
              <property name="URIEncoding" value="UTF-8"/>
-            <property name="useBodyEncodingForURI" value="false"/>
              <property name="xpoweredBy" value="true"/>
-            <!-- HTTP connector attributes -->
-            <property name="acceptCount" value="10"/>
-            <property name="address" value="0.0.0.0"/>
-            <property name="bufferSize" value="2048"/>
-            <property name="compressableMimeType"
value="text/html,text/xml,text/plain"/>
+            <property name="enableLookups" value="true"/>
              <property name="compression" value="on"/>
-            <property name="connectionLinger" value="-1"/>
-            <property name="connectionTimeout" value="60000"/>
-            <property name="disableUploadTimeout" value="false"/>
-            <property name="maxHttpHeaderSize" value="8192"/>
-            <property name="maxKeepAliveRequests" value="100"/>
-            <property name="maxSpareThreads" value="50"/>
-            <property name="maxThreads" value="100"/>
-            <property name="minSpareThreads" value="4"/>
-            <property name="noCompressionUserAgents" value=""/>
-            <property name="port" value="8080"/>
-            <property name="restrictedUserAgents" value=""/>
-            <property name="server" value=""/>
-            <property name="socketBuffer" value="9000"/>
-            <property name="strategy" value="lf"/>
-            <property name="tcpNoDelay" value="true"/>
-            <property name="threadPriority"
value="java.lang.Thread#NORM_PRIORITY"/>
+            <property name="compressableMimeType"
value="text/html,text/xml,text/plain,text/javascript,text/css"/>
          </property>
          <property name="https-connector" value="connector">
-            <!-- see
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/http.html for
reference -->
-            <property name="allowTrace" value="false"/>
-            <property name="emptySessionPath" value="false"/>
-            <property name="enableLookups" value="true"/>
-            <property name="maxPostSize" value="2097152"/>
+            <property name="port" value="8443"/>
              <property name="protocol" value="HTTP/1.1"/>
-            <property name="proxyName" value=""/>
-            <property name="proxyPort" value=""/>
-            <property name="redirectPort" value=""/>
              <property name="scheme" value="https"/>
              <property name="secure" value="true"/>
+            <property name="SSLEnabled" value="true"/>
              <property name="URIEncoding" value="UTF-8"/>
-            <property name="useBodyEncodingForURI" value="false"/>
              <property name="xpoweredBy" value="true"/>
-            <!-- HTTP connector attributes -->
-            <property name="acceptCount" value="10"/>
-            <property name="address" value="0.0.0.0"/>
-            <property name="bufferSize" value="2048"/>
-            <property name="compressableMimeType"
value="text/html,text/xml,text/plain"/>
+            <property name="enableLookups" value="true"/>
              <property name="compression" value="on"/>
-            <property name="connectionLinger" value="-1"/>
-            <property name="connectionTimeout" value="60000"/>
-            <property name="disableUploadTimeout" value="false"/>
-            <property name="maxHttpHeaderSize" value="8192"/>
-            <property name="maxKeepAliveRequests" value="100"/>
-            <property name="maxSpareThreads" value="50"/>
-            <property name="maxThreads" value="100"/>
-            <property name="minSpareThreads" value="4"/>
-            <property name="noCompressionUserAgents" value=""/>
-            <property name="port" value="8443"/>
-            <property name="restrictedUserAgents" value=""/>
-            <property name="server" value=""/>
-            <property name="socketBuffer" value="9000"/>
-            <property name="strategy" value="lf"/>
-            <property name="tcpNoDelay" value="true"/>
-            <property name="threadPriority"
value="java.lang.Thread#NORM_PRIORITY"/>
-            <!-- SSL connector attributes -->
-            <property name="sSLImplementation"
value="org.ofbiz.catalina.container.SSLImpl"/>
+            <property name="compressableMimeType"
value="text/html,text/xml,text/plain,text/javascript,text/css"/>
+            <property name="sslImplementationName"
value="org.ofbiz.catalina.container.SSLImpl"/>
              <property name="algorithm" value="SunX509"/>
-            <property name="clientAuth" value="want"/>
              <property name="keystoreFile"
value="framework/base/config/ofbizssl.jks"/>
              <property name="keystorePass" value="changeit"/>
              <property name="keystoreType" value="JKS"/>

Modified:
ofbiz/trunk/framework/catalina/src/org/ofbiz/catalina/container/CatalinaContainer.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/catalina/src/org/ofbiz/catalina/container/CatalinaContainer.java?rev=1625919&r1=1625918&r2=1625919&view=diff
==============================================================================
---
ofbiz/trunk/framework/catalina/src/org/ofbiz/catalina/container/CatalinaContainer.java
(original)
+++
ofbiz/trunk/framework/catalina/src/org/ofbiz/catalina/container/CatalinaContainer.java
Thu Sep 18 09:00:15 2014
@@ -21,6 +21,7 @@ package org.ofbiz.catalina.container;
  import java.io.File;
  import java.net.MalformedURLException;
  import java.net.URL;
+import java.util.ArrayList;
  import java.util.HashMap;
  import java.util.Iterator;
  import java.util.List;
@@ -32,8 +33,6 @@ import java.util.concurrent.ScheduledExe
  import javax.naming.InitialContext;
  import javax.naming.NamingException;
  -import javolution.util.FastList;
-
  import org.apache.catalina.Cluster;
  import org.apache.catalina.Context;
  import org.apache.catalina.Engine;
@@ -63,8 +62,6 @@ import org.apache.catalina.tribes.transp
  import org.apache.catalina.tribes.transport.nio.NioReceiver;
  import org.apache.catalina.util.ServerInfo;
  import org.apache.catalina.valves.AccessLogValve;
-import org.apache.coyote.ProtocolHandler;
-import org.apache.coyote.http11.Http11Protocol;
  import org.apache.tomcat.JarScanner;
  import org.apache.tomcat.util.IntrospectionUtils;
  import org.apache.tomcat.util.scan.StandardJarScanner;
@@ -236,25 +233,17 @@ public class CatalinaContainer implement
          // load the web applications
          loadComponents();
  -        for (Connector con: tomcat.getService().findConnectors()) {
-            ProtocolHandler ph = con.getProtocolHandler();
-            int port = con.getPort();
-            con.setAttribute("port", port);
-            if (ph instanceof Http11Protocol) {
-                Http11Protocol hph = (Http11Protocol) ph;
-                Debug.logInfo("Connector " + hph.getName() + " @ " +
hph.getPort() + " - " +
-                    (hph.getSecure() ? "secure" : "not-secure") + " ["
+ con.getProtocolHandlerClassName() + "] started.", module);
-            } else {
-                Debug.logInfo("Connector " + con.getProtocol() + " @ "
+ con.getPort() + " - " +
-                    (con.getSecure() ? "secure" : "not-secure") + " ["
+ con.getProtocolHandlerClassName() + "] started.", module);
-            }
-        }
          // Start the Tomcat server
          try {
              tomcat.getServer().start();
          } catch (LifecycleException e) {
              throw new ContainerException(e);
          }
+
+        for (Connector con: tomcat.getService().findConnectors()) {
+            Debug.logInfo("Connector " + con.getProtocol() + " @ " +
con.getPort() + " - " +
+                (con.getSecure() ? "secure" : "not-secure") + " [" +
con.getProtocolHandlerClassName() + "] started.", module);
+        }
          Debug.logInfo("Started " + ServerInfo.getServerInfo(), module);
          return true;
      }
@@ -473,87 +462,28 @@ public class CatalinaContainer implement
          if (tomcat == null) {
              throw new ContainerException("Cannot create Connector
without Tomcat instance!");
          }
-
-        // need some standard properties
-        String protocol =
ContainerConfig.getPropertyValue(connectorProp, "protocol", "HTTP/1.1");
-        String address =
ContainerConfig.getPropertyValue(connectorProp, "address", "0.0.0.0");
-        int port = ContainerConfig.getPropertyValue(connectorProp,
"port", 0) + Start.getInstance().getConfig().portOffset;
-
-        boolean secure =
ContainerConfig.getPropertyValue(connectorProp, "secure", false);
-        if (protocol.toLowerCase().startsWith("ajp")) {
-            protocol = "ajp";
-        } else if ("memory".equals(protocol.toLowerCase())) {
-            protocol = "memory";
-        } else if (secure) {
-            protocol = "https";
-        } else {
-            protocol = "http";
-        }
-
          Connector connector = null;
          if (UtilValidate.isNotEmpty(connectorProp.properties)) {
-            if (address != null) {
-                /*
-                 * InetAddress.toString() returns a string of the form
-                 * "<hostname>/<literal_IP>". Get the latter part, so
that the
-                 * address can be parsed (back) into an InetAddress
using
-                 * InetAddress.getByName().
-                 */
-                int index = address.indexOf('/');
-                if (index != -1) {
-                    address = address.substring(index + 1);
-                }
-            }
+            String protocol =
ContainerConfig.getPropertyValue(connectorProp, "protocol", "HTTP/1.1");
+            int port = ContainerConfig.getPropertyValue(connectorProp,
"port", 0) + Start.getInstance().getConfig().portOffset;
  -            Debug.logInfo("Creating connector for address='" +
-                          ((address == null) ? "ALL" : address) +
-                          "' port='" + port + "' protocol='" +
protocol + "'", module);
-
-            try {
-
-                if (protocol.equals("ajp")) {
-                    connector = new
Connector("org.apache.coyote.ajp.AjpProtocol");
-                } else if (protocol.equals("memory")) {
-                    connector = new
Connector("org.apache.coyote.memory.MemoryProtocolHandler");
-                } else if (protocol.equals("http")) {
-                    connector = new Connector();
-                } else if (protocol.equals("https")) {
-                    connector = new Connector();
-                    connector.setScheme("https");
-                    connector.setSecure(true);
-                    connector.setProperty("SSLEnabled","true");
-                    // FIXME !!!! SET SSL PROPERTIES
-                } else {
-                    connector = new Connector(protocol);
+            // set the protocol and the port first
+            connector = new Connector(protocol);
+            connector.setPort(port);
+            // then set all the other parameters
+            for (ContainerConfig.Container.Property prop:
connectorProp.properties.values()) {
+                if ("protocol".equals(prop.name) || "port".equals(
prop.name)) {
+                    // protocol and port are already set
+                    continue;
                  }
-
-                if (address != null) {
-                    IntrospectionUtils.setProperty(connector,
"address", "" + address);
+                if (IntrospectionUtils.setProperty(connector,
prop.name, prop.value)) {
+                    Debug.logInfo("Tomcat " + connector + ": set " +
prop.name + "=" + prop.value, module);
+                } else {
+                    Debug.logWarning("Tomcat " + connector + ":
ignored parameter " + prop.name, module);
                  }
-                IntrospectionUtils.setProperty(connector, "port", "" +
port);
-
-            } catch (Exception e) {
-                Debug.logError(e, "Couldn't create connector.",
module);
              }
  -            try {
-                for (ContainerConfig.Container.Property prop:
connectorProp.properties.values()) {
-                    if ("port".equals(prop.name)) {
-                        connector.setProperty(prop.name, "" + port);
-                    } else {
-                        connector.setProperty(prop.name, prop.value);
-                        //connector.setAttribute(prop.name,
prop.value);
-                    }
-                }
-
-                if
(connectorProp.properties.containsKey("URIEncoding")) {
-
connector.setURIEncoding(connectorProp.properties.get("URIEncoding").value);
-                }
-
-                tomcat.getService().addConnector(connector);
-            } catch (Exception e) {
-                throw new ContainerException(e);
-            }
+            tomcat.getService().addConnector(connector);
          }
          return connector;
      }
@@ -728,21 +658,21 @@ public class CatalinaContainer implement
            // load the applications
          List<ComponentConfig.WebappInfo> webResourceInfos =
ComponentConfig.getAllWebappResourceInfos();
-        List<String> loadedMounts = FastList.newInstance();
+        List<String> loadedMounts = new ArrayList<String>();
          if (webResourceInfos == null) {
              return;
          }
            ScheduledExecutorService executor =
ExecutionPool.getScheduledExecutor(CATALINA_THREAD_GROUP,
"catalina-startup", -1, true);
          try {
-            List<Future<Context>> futures = FastList.newInstance();
+            List<Future<Context>> futures = new
ArrayList<Future<Context>>();
                for (int i = webResourceInfos.size(); i > 0; i--) {
                  ComponentConfig.WebappInfo appInfo =
webResourceInfos.get(i - 1);
                  String engineName = appInfo.server;
                  List<String> virtualHosts = appInfo.getVirtualHosts();
                  String mount = appInfo.getContextRoot();
-                List<String> keys = FastList.newInstance();
+                List<String> keys = new ArrayList<String>();
                  if (virtualHosts.isEmpty()) {
                      keys.add(engineName + ":DEFAULT:" + mount);
                  } else {




Reply via email to