geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From d...@apache.org
Subject cvs commit: incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/hack GeronimoWebApplicationContext.java Jetty.java JettyMBean.java
Date Fri, 05 Sep 2003 10:26:17 GMT
dain        2003/09/05 03:26:17

  Added:       modules/web/src/conf jetty-config.xml jetty-service.xml
                        webdefault.xml
               modules/web/src/java/org/apache/geronimo/web/hack
                        GeronimoWebApplicationContext.java Jetty.java
                        JettyMBean.java
  Log:
  Initial revision of my lame jetty-hack.
  
  Revision  Changes    Path
  1.1                  incubator-geronimo/modules/web/src/conf/jetty-config.xml
  
  Index: jetty-config.xml
  ===================================================================
  <?xml version="1.0"  encoding="ISO-8859-1"?>
  
  <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure 1.2//EN" "http://jetty.mortbay.org/configure_1_2.dtd">
  <Configure class="org.mortbay.jetty.Server">
  
      <!-- =============================================================== -->
      <!-- Configure the Request Listeners                                 -->
      <!-- =============================================================== -->
  
  
      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
      <!-- Add and configure a HTTP listener to port 8080                       -->
      <!-- The default port can be changed using: java -Djetty.port=80     -->
      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
      <Call name="addListener">
          <Arg>
              <New class="org.mortbay.http.SocketListener">
                  <Set name="Port">
                      <SystemProperty name="jetty.port" default="8080"/>
                  </Set>
                  <Set name="MinThreads">10</Set>
                  <Set name="MaxThreads">100</Set>
                  <Set name="MaxIdleTimeMs">30000</Set>
                  <Set name="LowResourcePersistTimeMs">5000</Set>
              </New>
          </Arg>
      </Call>
  
  
      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
      <!-- Add a HTTPS SSL listener on port 8843                           -->
      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
      <!-- UNCOMMENT TO ACTIVATE
      <Call name="addListener">
        <Arg>
          <New class="org.mortbay.http.SunJsseListener">
           <Set name="Port">8443</Set>
           <Set name="MinThreads">5</Set>
           <Set name="MaxThreads">100</Set>
           <Set name="MaxIdleTimeMs">30000</Set>
           <Set name="LowResourcePersistTimeMs">2000</Set>
           <Set name="Keystore"><SystemProperty name="jetty.home.dir"/>/conf/demokeystore</Set>
           <Set name="Password">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
           <Set name="KeyPassword">OBF:1u2u1wml1z7s1z7a1wnl1u2g</Set>
          </New>
        </Arg>
      </Call>
      -->
  
  
      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
      <!-- Add a AJP13 listener on port 8009                               -->
      <!-- This protocol can be used with mod_jk in apache, IIS etc.       -->
      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
      <!--
      <Call name="addListener">
        <Arg>
          <New class="org.mortbay.http.ajp.AJP13Listener">
           <Set name="Port">8009</Set>
           <Set name="MinThreads">5</Set>
           <Set name="MaxThreads">20</Set>
           <Set name="MaxIdleTimeMs">0</Set>
           <Set name="confidentialPort">443</Set>
          </New>
        </Arg>
      </Call>
      -->
  
      <!-- =============================================================== -->
      <!-- Configure the Request Log                                       -->
      <!-- =============================================================== -->
      <Set name="RequestLog">
          <New class="org.mortbay.http.NCSARequestLog">
              <Arg><SystemProperty name="jetty.home.dir"/>/yyyy_mm_dd.request.log</Arg>
              <Set name="retainDays">90</Set>
              <Set name="append">true</Set>
              <Set name="extended">true</Set>
              <Set name="buffered">false</Set>
              <Set name="LogTimeZone">GMT</Set>
          </New>
      </Set>
  
  <!--
      <Call name="addWebApplication">
          <Arg>/</Arg>
          <Arg><SystemProperty name="jetty.home.dir"/>/elba-jmx-console/</Arg>
          <Arg><SystemProperty name="jetty.home.dir"/>/webdefault.xml</Arg>
          <Arg type="boolean">false</Arg>
      </Call>
  -->
  </Configure>
  
  
  
  1.1                  incubator-geronimo/modules/web/src/conf/jetty-service.xml
  
  Index: jetty-service.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <components>
      <class-space name="geronimo.system:role=ClassSpace,name=Jetty">
          <codebase url="file:lib/">
              <archive name="*"/>
          </codebase>
      </class-space>
  
      <mbean code="org.apache.geronimo.web.hack.Jetty" name="jetty:role=WebContainer">
          <constructor>
              <arg type="java.net.URL">jetty-config.xml</arg>
          </constructor>
      </mbean>
  </components>
  
  
  1.1                  incubator-geronimo/modules/web/src/conf/webdefault.xml
  
  Index: webdefault.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
  
  
  <!-- ===================================================================== -->
  <!-- This file contains the default descriptor for web applications.       -->
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <!-- The original of this file is included as a resource in the            -->
  <!-- org.mortbay.jetty.jar file and is loaded by default for all web       -->
  <!-- applications before there own WEB-INF/web.xml file is loaded          -->
  <!--                                                                       -->
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <!-- THE COPY OF THIS FILE in $JETTY_HOME/etc IS NOT USED BY DEFAULT!      -->
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <!-- If the version in $JETTY_HOME/etc/ is to be used, then the            -->
  <!-- setDefaultsDescriptor method must be called on each context,          -->
  <!-- giving the location of the default web.xml file to use.               -->
  <!-- eg of setting the defaultsDescriptor in jetty.xml:
  
      <Call name="addWebApplication">
        <Arg>/mycontext</Arg>
        <Arg><SystemProperty name="jetty.home" default=".">/webapps/mywebapp</Arg>
        <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>
      </Call>
                                                                             -->
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  
  
  <!-- ===================================================================== -->
  <web-app>
    <description>
      Default web.xml file.  
      This file is applied to a Web application before it's own WEB_INF/web.xml file
    </description>
  
  
  
    <!-- ==================================================================== -->
    <!-- Context params to control Session Cookies                            -->
    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
    <!-- UNCOMMENT TO ACTIVATE
    <context-param>
      <param-name>org.mortbay.jetty.servlet.SessionDomain</param-name>
      <param-value>127.0.0.1</param-value>
    </context-param>
  
    <context-param>
      <param-name>org.mortbay.jetty.servlet.SessionPath</param-name>
      <param-value>/</param-value>
    </context-param>
  
    <context-param>
      <param-name>org.mortbay.jetty.servlet.MaxAge</param-name>
      <param-value>-1</param-value>
    </context-param>
    -->
  
  
  
    <!-- ==================================================================== -->
    <!-- The default servlet.                                                 -->
    <!-- This servlet, normally mapped to /, provides the handling for static -->
    <!-- content, OPTION and TRACE methods for the context.                   -->
    <!-- The following initParameters are supported:                          -->
    <!--                                                                      -->
    <!--   acceptRanges     If true, range requests and responses are         -->
    <!--                    supported                                         -->
    <!--                                                                      -->
    <!--   dirAllowed       If true, directory listings are returned if no    -->
    <!--                    welcome file is found. Else 403 Forbidden.        -->
    <!--                                                                      -->
    <!--   putAllowed       If true, the PUT method is allowed                -->
    <!--                                                                      -->
    <!--   delAllowed       If true, the DELETE method is allowed             -->
    <!--                                                                      -->
    <!--   redirectWelcome  If true, redirect welcome file requests           -->
    <!--                    else use request dispatcher forwards              -->
    <!--                                                                      -->
    <!--   minGzipLength    If set to a positive integer, then static content -->
    <!--                    larger than this will be served as gzip content   -->
    <!--                    encoded if a matching resource is found ending    -->
    <!--                    with ".gz"                                        -->
    <!--                                                                      -->
    <!--   resoureBase      Can be set to replace the context resource base   -->
    <!--                                                                      -->
    <!-- The MOVE method is allowed if PUT and DELETE are allowed             -->
    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
    <servlet>
      <servlet-name>default</servlet-name>
      <servlet-class>org.mortbay.jetty.servlet.Default</servlet-class>
      <init-param>
        <param-name>acceptRanges</param-name>
        <param-value>true</param-value>
      </init-param>
      <init-param>
        <param-name>dirAllowed</param-name>
        <param-value>true</param-value>
      </init-param>
      <init-param>
        <param-name>putAllowed</param-name>
        <param-value>false</param-value>
      </init-param>
      <init-param>
        <param-name>delAllowed</param-name>
        <param-value>false</param-value>
      </init-param>
      <init-param>
        <param-name>redirectWelcome</param-name>
        <param-value>false</param-value>
      </init-param>
      <init-param>
        <param-name>minGzipLength</param-name>
        <param-value>8192</param-value>
      </init-param>
      <load-on-startup>0</load-on-startup>
    </servlet>
    
    <!-- ==================================================================== -->
    <!-- JSP Servlet                                                          -->
    <!-- This is the jasper JSP servlet from the jakarta project              -->
    <!-- The following initParameters are supported:                          -->
    <!--                                                                      -->
    <!--   classpath           What class path should I use while compiling   -->
    <!--                       generated servlets?  [Created dynamically      -->
    <!--                       based on the current web application]          -->
    <!--                                                                      -->
    <!--   classdebuginfo      Should the class file be compiled with         -->
    <!--                       debugging information?  [false]                -->
    <!--                                                                      -->
    <!--   ieClassId           The class-id value to be sent to Internet      -->
    <!--                       Explorer when using <jsp:plugin> tags.         -->
    <!--                       [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93]   -->
    <!--                                                                      -->
    <!--   jspCompilerPlugin   The fully qualified class name of the JSP      -->
    <!--                       compiler plug-in to be used.  See below for    -->
    <!--                       more information.                              -->
    <!--                       [Use internal JDK compiler]                    -->
    <!--                                                                      -->
    <!--   keepgenerated       Should we keep the generated Java source code  -->
    <!--                       for each page instead of deleting it? [true]   -->
    <!--                                                                      -->
    <!--   largefile           Should we store the static content of JSP      -->
    <!--                       pages in external data files, to reduce the    -->
    <!--                       size of the generated servlets?  [false]       -->
    <!--                                                                      -->
    <!--   logVerbosityLevel   The level of detailed messages to be produced  -->
    <!--                       by this servlet.  Increasing levels cause the  -->
    <!--                       generation of more messages.  Valid values are -->
    <!--                       FATAL, ERROR, WARNING, INFORMATION, and DEBUG. -->
    <!--                       [WARNING]                                      -->
    <!--                                                                      -->
    <!--   mappedfile          Should we generate static content with one     -->
    <!--                       print statement per input line, to ease        -->
    <!--                       debugging?  [false]                            -->
    <!--                                                                      -->
    <!--   scratchdir          What scratch directory should we use when      -->
    <!--                       compiling JSP pages?  [default work directory  -->
    <!--                       for the current web application]               -->
    <!--                                                                      -->
    <!-- If you wish to use Jikes to compile JSP pages:                       -->
    <!-- * Set the "classpath" initialization parameter appropriately         -->
    <!--   for this web application.                                          -->
    <!-- * Set the "jspCompilerPlugin" initialization parameter to            -->
    <!--   "org.apache.jasper.compiler.JikesJavaCompiler".                    -->
    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
    <servlet>
      <servlet-name>jsp</servlet-name>
      <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
      <load-on-startup>0</load-on-startup>
    </servlet>
  
    <!-- ==================================================================== -->
    <!-- Dynamic Servlet Invoker.                                             -->
    <!-- This servlet invokes anonymous servlets that have not been defined   -->
    <!-- in the web.xml or by other means. The first element of the pathInfo  -->
    <!-- of a request passed to the envoker is treated as a servlet name for  -->
    <!-- an existing servlet, or as a class name of a new servlet.            -->
    <!-- This servlet is normally mapped to /servlet/*                        -->
    <!-- This servlet support the following initParams:                       -->
    <!--                                                                      -->
    <!--  nonContextServlets       If false, the invoker can only load        -->
    <!--                           servlets from the contexts classloader.    -->
    <!--                           This is false by default and setting this  -->
    <!--                           to true may have security implications.    -->
    <!--                                                                      -->
    <!--  verbose                  If true, log dynamic loads                 -->
    <!--                                                                      -->
    <!--  *                        All other parameters are copied to the     -->
    <!--                           each dynamic servlet as init parameters    -->
    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
    <servlet>
      <servlet-name>invoker</servlet-name>
      <servlet-class>org.mortbay.jetty.servlet.Invoker</servlet-class>
      <init-param>
        <param-name>verbose</param-name>
        <param-value>false</param-value>
      </init-param>
      <init-param>
        <param-name>nonContextServlets</param-name>
        <param-value>false</param-value>
      </init-param>
      <init-param>
        <param-name>dynamicParam</param-name>
        <param-value>anyValue</param-value>
      </init-param>
      <load-on-startup>0</load-on-startup>
    </servlet>
  
    <!-- ==================================================================== -->
    <servlet-mapping>
      <servlet-name>default</servlet-name>
      <url-pattern>/</url-pattern>
    </servlet-mapping>
  
    <!-- ==================================================================== -->
    <servlet-mapping>
      <servlet-name>jsp</servlet-name>
      <url-pattern>*.jsp</url-pattern>
    </servlet-mapping>
  
    <!-- ==================================================================== -->
    <servlet-mapping>
      <servlet-name>jsp</servlet-name>
      <url-pattern>*.jspf</url-pattern>
    </servlet-mapping>
  
    <!-- ==================================================================== -->
    <servlet-mapping>
      <servlet-name>invoker</servlet-name>
      <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>
  
  
    <!-- ==================================================================== -->
    <session-config>
      <session-timeout>30</session-timeout>
    </session-config>
  
    <!-- ==================================================================== -->
    <!-- Default MIME mappings                                                -->
    <!-- The default MIME mappings are provided by the mime.properties        -->
    <!-- resource in the org.mortbay.jetty.jar file.  Additional or modified  -->
    <!-- mappings may be specified here                                       -->
    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
    <!-- UNCOMMENT TO ACTIVATE
    <mime-mapping>
      <extension>mysuffix</extension>
      <mime-type>mymime/type</mime-type>
    </mime-mapping>
    -->
  
    <!-- ==================================================================== -->
    <welcome-file-list>
      <welcome-file>index.html</welcome-file>
      <welcome-file>index.htm</welcome-file>
      <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
  
  </web-app>
  
  
  
  
  1.1                  incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/hack/GeronimoWebApplicationContext.java
  
  Index: GeronimoWebApplicationContext.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.web.hack;
  
  import java.net.URL;
  import java.net.URLClassLoader;
  
  import org.mortbay.jetty.servlet.WebApplicationContext;
  
  /**
   *
   *
   * @version $Revision: 1.1 $ $Date: 2003/09/05 10:26:17 $
   */
  public class GeronimoWebApplicationContext extends WebApplicationContext {
      private static final String SEPERATOR = System.getProperty("path.separator");
  
      public GeronimoWebApplicationContext() {
      }
  
      public GeronimoWebApplicationContext(String context) {
          super(context);
      }
  
      public String getFileClassPath() throws IllegalStateException {
          ClassLoader cl = Thread.currentThread().getContextClassLoader();
          StringBuffer path = new StringBuffer();
          while (cl != null) {
              if (cl instanceof URLClassLoader) {
                  URL[] urls = ((URLClassLoader) cl).getURLs();
                  for (int i = 0; i < urls.length; i++) {
                      URL url = urls[i];
                      if (!"file".equals(url.getProtocol())) {
                          continue;
                      }
  
                      if (path.length() > 0) {
                          path.append(SEPERATOR);
                      }
                      path.append(url.getFile());
                  }
              }
              cl = cl.getParent();
          }
          String s = path.toString();
          System.out.println("classpath = " + s);
          return s;
      }
  }
  
  
  
  1.1                  incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/hack/Jetty.java
  
  Index: Jetty.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.web.hack;
  
  import java.io.IOException;
  import java.net.URL;
  import java.util.Iterator;
  
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
  import org.apache.geronimo.web.hack.GeronimoWebApplicationContext;
  
  import org.mortbay.jetty.Server;
  import org.mortbay.jetty.servlet.WebApplicationContext;
  import org.mortbay.util.MultiException;
  
  /**
   *
   *
   * @version $Revision: 1.1 $ $Date: 2003/09/05 10:26:17 $
   */
  public class Jetty extends Server implements JettyMBean {
      private static final Log log = LogFactory.getLog(Jetty.class.getName());
  
      private static URL setJettyHomeSystemProperty(URL url) {
          String urlPath = url.getPath();
          String parentPath = urlPath.substring(0, urlPath.lastIndexOf("/"));
          log.info("jetty.home.dir=" + parentPath);
          System.setProperty("jetty.home.dir", parentPath);
          return url;
      }
  
      public Jetty(URL url) throws IOException {
          // the jetty home system property must be set before calling super
          // so it is avilable to the config file
          super(setJettyHomeSystemProperty(url));
      }
  
      public void create() {
      }
  
      public void start() {
          try {
              super.start();
          } catch (MultiException e) {
              for (Iterator i = e.getExceptions().iterator(); i.hasNext();) {
                  Exception e1 = (Exception) i.next();
                  e1.printStackTrace();
              }
              throw new IllegalStateException();
          }
      }
  
      protected WebApplicationContext newWebApplicationContext(String context) {
          return new GeronimoWebApplicationContext(context);
      }
  }
  
  
  
  1.1                  incubator-geronimo/modules/web/src/java/org/apache/geronimo/web/hack/JettyMBean.java
  
  Index: JettyMBean.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Geronimo" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Geronimo", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   */
  package org.apache.geronimo.web.hack;
  
  /**
   *
   *
   * @version $Revision: 1.1 $ $Date: 2003/09/05 10:26:17 $
   */
  public interface JettyMBean {
      void create();
  
      void start();
  }
  
  
  

Mime
View raw message