You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2002/06/06 08:29:17 UTC

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup Embedded.java

remm        2002/06/05 23:29:17

  Modified:    catalina/src/share/org/apache/catalina/startup Embedded.java
  Log:
  - Embedded will now use Coyote.
  - Add support for AJP (using a new createConnector method).
  
  Revision  Changes    Path
  1.15      +58 -39    jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Embedded.java
  
  Index: Embedded.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Embedded.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- Embedded.java	9 Nov 2001 19:40:44 -0000	1.14
  +++ Embedded.java	6 Jun 2002 06:29:17 -0000	1.15
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Embedded.java,v 1.14 2001/11/09 19:40:44 remm Exp $
  - * $Revision: 1.14 $
  - * $Date: 2001/11/09 19:40:44 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Embedded.java,v 1.15 2002/06/06 06:29:17 remm Exp $
  + * $Revision: 1.15 $
  + * $Date: 2002/06/06 06:29:17 $
    *
    * ====================================================================
    *
  @@ -70,6 +70,9 @@
   import java.net.InetAddress;
   import java.util.Enumeration;
   import java.util.Properties;
  +
  +import org.apache.tomcat.util.IntrospectionUtils;
  +
   import org.apache.catalina.Connector;
   import org.apache.catalina.Container;
   import org.apache.catalina.Context;
  @@ -82,7 +85,6 @@
   import org.apache.catalina.Loader;
   import org.apache.catalina.Logger;
   import org.apache.catalina.Realm;
  -import org.apache.catalina.connector.http.HttpConnector;
   import org.apache.catalina.core.StandardContext;
   import org.apache.catalina.core.StandardEngine;
   import org.apache.catalina.core.StandardHost;
  @@ -149,7 +151,7 @@
    * </pre>
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.14 $ $Date: 2001/11/09 19:40:44 $
  + * @version $Revision: 1.15 $ $Date: 2002/06/06 06:29:17 $
    */
   
   public class Embedded implements Lifecycle {
  @@ -406,14 +408,7 @@
       public synchronized void addConnector(Connector connector) {
   
           if (debug >= 1) {
  -            if (connector instanceof HttpConnector) {
  -                HttpConnector hc = (HttpConnector) connector;
  -                logger.log("Adding connector for address '" +
  -                          ((hc.getAddress() == null) ? "ALL" : hc.getAddress())
  -                           + "' port='" + hc.getPort() + "'");
  -            } else {
  -                logger.log("Adding connector (" + connector.getInfo() + ")");
  -            }
  +            logger.log("Adding connector (" + connector.getInfo() + ")");
           }
   
           // Make sure we have a Container to send requests to
  @@ -504,27 +499,58 @@
                          ((address == null) ? "ALL" : address.getHostAddress()) +
                          "' port='" + port + "' secure='" + secure + "'");
   
  -        HttpConnector connector = new HttpConnector();
  -
  -        if (address != null)
  -            connector.setAddress(address.getHostAddress());
  -        connector.setDebug(debug);
  -        connector.setPort(port);
  +        String protocol = "http";
           if (secure) {
  -            connector.setScheme("https");
  -            connector.setSecure(true);
  -            try {
  -                Class serverSocketFactoryClass = Class.forName
  -                    ("org.apache.catalina.net.SSLServerSocketFactory");
  -                ServerSocketFactory factory = 
  -                    (ServerSocketFactory) 
  -                    serverSocketFactoryClass.newInstance();
  -                connector.setFactory(factory);
  -            } catch (Exception e) {
  -                logger.log("Couldn't load SSL server socket factory.");
  -            }
  +            protocol = "https";
           }
   
  +        return createConnector(address, port, protocol);
  +
  +    }
  +
  +
  +    public Connector createConnector(InetAddress address, int port,
  +                                     String protocol) {
  +
  +        Connector connector = null;
  +
  +        try {
  +
  +            Class clazz = 
  +                Class.forName("org.apache.coyote.tomcat4.CoyoteConnector");
  +            connector = (Connector) clazz.newInstance();
  +
  +            if (address != null) {
  +                IntrospectionUtils.setProperty(connector, "address", 
  +                                               "" + address);
  +            }
  +            IntrospectionUtils.setProperty(connector, "port", "" + port);
  +            IntrospectionUtils.setProperty(connector, "useURIValidationHack", 
  +                                           "" + false);
  +
  +            if (protocol.equals("ajp")) {
  +                IntrospectionUtils.setProperty
  +                    (connector, "protocolHandlerClassName",
  +                     "org.apache.jk.server.JkCoyoteHandler");
  +            } else if (protocol.equals("https")) {
  +                connector.setScheme("https");
  +                connector.setSecure(true);
  +                try {
  +                    Class serverSocketFactoryClass = Class.forName
  +                        ("org.apache.coyote.tomcat4.CoyoteServerSocketFactory");
  +                    ServerSocketFactory factory = 
  +                        (ServerSocketFactory) 
  +                        serverSocketFactoryClass.newInstance();
  +                    connector.setFactory(factory);
  +                } catch (Exception e) {
  +                    logger.log("Couldn't load SSL server socket factory.");
  +                }
  +            }
  +
  +        } catch (Exception e) {
  +            logger.log("Couldn't create connector.");
  +        } 
  +
           return (connector);
   
       }
  @@ -678,14 +704,7 @@
       public synchronized void removeConnector(Connector connector) {
   
           if (debug >= 1) {
  -            if (connector instanceof HttpConnector) {
  -                HttpConnector hc = (HttpConnector) connector;
  -                logger.log("Removing connector for address '" +
  -                          ((hc.getAddress() == null) ? "ALL" : hc.getAddress())
  -                           + "' port='" + hc.getPort() + "'");
  -            } else {
  -                logger.log("Removing connector (" + connector.getInfo() + ")");
  -            }
  +            logger.log("Removing connector (" + connector.getInfo() + ")");
           }
   
           // Is the specified Connector actually defined?
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>