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 [EMAIL PROTECTED]
*
* 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 [EMAIL PROTECTED]
*
* 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 [EMAIL PROTECTED]
*
* 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();
}