diff options
Diffstat (limited to 'jetty-osgi/test-jetty-osgi/src/test')
17 files changed, 566 insertions, 515 deletions
diff --git a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-deployer.xml b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-deployer.xml index b03a648e3d..19b3a5db09 100644 --- a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-deployer.xml +++ b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-deployer.xml @@ -1,5 +1,5 @@ <?xml version="1.0"?> -<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"> +<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd"> <Configure id="Server" class="org.eclipse.jetty.server.Server"> diff --git a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-http.xml b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-http.xml new file mode 100644 index 0000000000..319ae6cbef --- /dev/null +++ b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-http.xml @@ -0,0 +1,41 @@ +<?xml version="1.0"?> +<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd"> + +<!-- ============================================================= --> +<!-- Configure the Jetty Server instance with an ID "Server" --> +<!-- by adding a HTTP connector. --> +<!-- This configuration must be used in conjunction with jetty.xml --> +<!-- ============================================================= --> +<Configure id="Server" class="org.eclipse.jetty.server.Server"> + + <!-- =========================================================== --> + <!-- Add a HTTP Connector. --> + <!-- Configure an o.e.j.server.ServerConnector with a single --> + <!-- HttpConnectionFactory instance using the common httpConfig --> + <!-- instance defined in jetty.xml --> + <!-- --> + <!-- Consult the javadoc of o.e.j.server.ServerConnector and --> + <!-- o.e.j.server.HttpConnectionFactory for all configuration --> + <!-- that may be set here. --> + <!-- =========================================================== --> + <Call name="addConnector"> + <Arg> + <New class="org.eclipse.jetty.server.ServerConnector"> + <Arg name="server"><Ref refid="Server" /></Arg> + <Arg name="factories"> + <Array type="org.eclipse.jetty.server.ConnectionFactory"> + <Item> + <New class="org.eclipse.jetty.server.HttpConnectionFactory"> + <Arg name="config"><Ref refid="httpConfig" /></Arg> + </New> + </Item> + </Array> + </Arg> + <Set name="host"><Property name="jetty.http.host" /></Set> + <Set name="port"><Property name="jetty.http.port" default="80" /></Set> + <Set name="idleTimeout"><Property name="jetty.http.idleTimeout" default="30000"/></Set> + </New> + </Arg> + </Call> + +</Configure> diff --git a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-http2.xml b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-http2.xml new file mode 100644 index 0000000000..3362c1bfd0 --- /dev/null +++ b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-http2.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd"> + +<!-- ============================================================= --> +<!-- Configure a HTTP2 on the ssl connector. --> +<!-- ============================================================= --> +<Configure id="sslConnector" class="org.eclipse.jetty.server.ServerConnector"> + <Call name="addConnectionFactory"> + <Arg> + <New class="org.eclipse.jetty.http2.server.HTTP2ServerConnectionFactory"> + <Arg name="config"><Ref refid="sslHttpConfig"/></Arg> + <Set name="maxConcurrentStreams"><Property name="jetty.http2.maxConcurrentStreams" default="1024"/></Set> + </New> + </Arg> + </Call> +</Configure> + diff --git a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-https.xml b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-https.xml index a6bef16ff1..c9d497e2c1 100644 --- a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-https.xml +++ b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-https.xml @@ -1,47 +1,28 @@ <?xml version="1.0"?> -<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"> +<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd"> <!-- ============================================================= --> <!-- Configure a HTTPS connector. --> <!-- This configuration must be used in conjunction with jetty.xml --> <!-- and jetty-ssl.xml. --> <!-- ============================================================= --> -<Configure id="Server" class="org.eclipse.jetty.server.Server"> +<Configure id="sslConnector" class="org.eclipse.jetty.server.ServerConnector"> - <!-- =========================================================== --> - <!-- Add a HTTPS Connector. --> - <!-- Configure an o.e.j.server.ServerConnector with connection --> - <!-- factories for TLS (aka SSL) and HTTP to provide HTTPS. --> - <!-- All accepted TLS connections are wired to a HTTP connection.--> - <!-- --> - <!-- Consult the javadoc of o.e.j.server.ServerConnector, --> - <!-- o.e.j.server.SslConnectionFactory and --> - <!-- o.e.j.server.HttpConnectionFactory for all configuration --> - <!-- that may be set here. --> - <!-- =========================================================== --> - <Call id="httpsConnector" name="addConnector"> + <Call name="addIfAbsentConnectionFactory"> <Arg> - <New class="org.eclipse.jetty.server.ServerConnector"> - <Arg name="server"><Ref refid="Server" /></Arg> - <Arg name="factories"> - <Array type="org.eclipse.jetty.server.ConnectionFactory"> - <Item> - <New class="org.eclipse.jetty.server.SslConnectionFactory"> - <Arg name="next">http/1.1</Arg> - <Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg> - </New> - </Item> - <Item> - <New class="org.eclipse.jetty.server.HttpConnectionFactory"> - <Arg name="config"><Ref refid="sslHttpConfig"/></Arg> - </New> - </Item> - </Array> - </Arg> - <Set name="host"><Property name="jetty.host" /></Set> - <Set name="port"><Property name="jetty.https.port" default="8443" /></Set> - <Set name="idleTimeout">30000</Set> - </New> + <New class="org.eclipse.jetty.server.SslConnectionFactory"> + <Arg name="next">http/1.1</Arg> + <Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg> + </New> </Arg> </Call> + + <Call name="addConnectionFactory"> + <Arg> + <New class="org.eclipse.jetty.server.HttpConnectionFactory"> + <Arg name="config"><Ref refid="sslHttpConfig" /></Arg> + </New> + </Arg> + </Call> + </Configure> diff --git a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-selector.xml b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-selector.xml deleted file mode 100644 index 67cd87c2a7..0000000000 --- a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-selector.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"> - -<Configure id="Server" class="org.eclipse.jetty.server.Server"> - - - <!-- =========================================================== --> - <!-- Add connector --> - <!-- =========================================================== --> - - <Call name="addConnector"> - <Arg> - <New class="org.eclipse.jetty.server.ServerConnector"> - <Arg><Ref refid="Server" /></Arg> - <Arg name="factories"> - <Array type="org.eclipse.jetty.server.ConnectionFactory"> - <Item> - <New class="org.eclipse.jetty.server.HttpConnectionFactory"> - <Arg name="config"><Ref refid="httpConfig" /></Arg> - </New> - </Item> - </Array> - </Arg> - <Set name="host"><Property name="jetty.host" /></Set> - <Set name="port"><Property name="jetty.port" default="8080"/></Set> - <Set name="idleTimeout">300000</Set> - </New> - </Arg> - </Call> - -</Configure> diff --git a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-spdy.xml b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-spdy.xml deleted file mode 100644 index 2bc1fe3cec..0000000000 --- a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-spdy.xml +++ /dev/null @@ -1,115 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"> - -<Configure id="Server" class="org.eclipse.jetty.server.Server"> - - <!-- =========================================================== --> - <!-- Add HTTP Customizer for Secure request --> - <!-- =========================================================== --> - <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration"> - <Set name="secureScheme">https</Set> - <Set name="securePort"> - <SystemProperty name="jetty.spdy.port" default="8443"/> - </Set> - <Set name="outputBufferSize">32768</Set> - <Set name="requestHeaderSize">8192</Set> - <Set name="responseHeaderSize">8192</Set> - <Call name="addCustomizer"> - <Arg> - <New class="org.eclipse.jetty.server.SecureRequestCustomizer"/> - </Arg> - </Call> - </New> - - - <!-- =========================================================== --> - <!-- Setup a SSL Context factory --> - <!-- =========================================================== --> - <New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory"> - <Set name="KeyStorePath"><Property name="jetty.home" default="."/>/etc/keystore - </Set> - <Set name="KeyStorePassword">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set> - <Set name="KeyManagerPassword">OBF:1u2u1wml1z7s1z7a1wnl1u2g</Set> - <Set name="TrustStorePath"><Property name="jetty.home" default="."/>/etc/keystore - </Set> - <Set name="TrustStorePassword">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set> - </New> - - <!-- =========================================================== --> - <!-- Set connectors --> - <!-- =========================================================== --> - <Call id="sslConnector" name="addConnector"> - <Arg> - <New class="org.eclipse.jetty.server.ServerConnector"> - <Arg name="server"> - <Ref refid="Server"/> - </Arg> - <Arg name="factories"> - <Array type="org.eclipse.jetty.server.ConnectionFactory"> - <Item> - <New class="org.eclipse.jetty.server.SslConnectionFactory"> - <Arg name="next">alpn</Arg> - <Arg name="sslContextFactory"> - <Ref refid="sslContextFactory"/> - </Arg> - </New> - </Item> - - <Item> - <New class="org.eclipse.jetty.alpn.server.ALPNServerConnectionFactory"> - <Arg name="protocols"> - <Array type="String"> - <Item>spdy/3</Item> - <Item>spdy/2</Item> - <Item>http/1.1</Item> - </Array> - </Arg> - <Set name="defaultProtocol">http/1.1</Set> - </New> - </Item> - - <Item> - <New class="org.eclipse.jetty.spdy.server.http.HTTPSPDYServerConnectionFactory"> - <Arg name="version" type="int">3</Arg> - <Arg name="config"> - <Ref refid="httpConfig"/> - </Arg> - <!-- Set the initial window size for this SPDY connector. --> - <!-- See: http://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft3#TOC-2.6.8-WINDOW_UPDATE --> - <Set name="initialWindowSize">65536</Set> - </New> - </Item> - - <Item> - <New class="org.eclipse.jetty.spdy.server.http.HTTPSPDYServerConnectionFactory"> - <Arg name="version" type="int">2</Arg> - <Arg name="config"> - <Ref refid="httpConfig"/> - </Arg> - <!-- Set the initial window size for this SPDY connector. --> - <!-- See: http://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft3#TOC-2.6.8-WINDOW_UPDATE --> - <Set name="initialWindowSize">65536</Set> - </New> - </Item> - - <Item> - <New class="org.eclipse.jetty.server.HttpConnectionFactory"> - <Arg name="config"> - <Ref refid="httpConfig"/> - </Arg> - </New> - </Item> - </Array> - </Arg> - <Set name="host"> - <Property name="jetty.host"/> - </Set> - <Set name="port"> - <SystemProperty name="jetty.spdy.port" default="8443"/> - </Set> - <Set name="idleTimeout">30000</Set> - </New> - </Arg> - </Call> - -</Configure> diff --git a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-ssl.xml b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-ssl.xml index b4c3551aad..f82386e1e7 100644 --- a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-ssl.xml +++ b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-ssl.xml @@ -1,20 +1,46 @@ <?xml version="1.0"?> -<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"> +<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd"> <!-- ============================================================= --> -<!-- Configure a TLS (SSL) Context Factory --> -<!-- This configuration must be used in conjunction with jetty.xml --> -<!-- and either jetty-https.xml or jetty-spdy.xml (but not both) --> +<!-- Base SSL configuration --> +<!-- This configuration needs to be used together with 1 or more --> +<!-- of jetty-https.xml and/or jetty-http2.xml --> <!-- ============================================================= --> -<Configure id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory"> - <Set name="KeyStorePath"><Property name="jetty.home" default="." />/<Property name="jetty.keystore" default="etc/keystore"/></Set> - <Set name="KeyStorePassword"><Property name="jetty.keystore.password" default="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/></Set> - <Set name="KeyManagerPassword"><Property name="jetty.keymanager.password" default="OBF:1u2u1wml1z7s1z7a1wnl1u2g"/></Set> - <Set name="TrustStorePath"><Property name="jetty.home" default="." />/<Property name="jetty.truststore" default="etc/keystore"/></Set> - <Set name="TrustStorePassword"><Property name="jetty.truststore.password" default="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/></Set> - <Set name="EndpointIdentificationAlgorithm"></Set> - <Set name="ExcludeCipherSuites"> - <Array type="String"> +<Configure id="Server" class="org.eclipse.jetty.server.Server"> + + <!-- =========================================================== --> + <!-- Add a SSL Connector with no protocol factories --> + <!-- =========================================================== --> + <Call name="addConnector"> + <Arg> + <New id="sslConnector" class="org.eclipse.jetty.server.ServerConnector"> + <Arg name="server"><Ref refid="Server" /></Arg> + <Arg name="factories"> + <Array type="org.eclipse.jetty.server.ConnectionFactory"> + </Array> + </Arg> + <Set name="host"><Property name="jetty.ssl.host" /></Set> + <Set name="port"><Property name="jetty.ssl.port" default="443" /></Set> + <Set name="idleTimeout"><Property name="jetty.ssl.idleTimeout" default="30000"/></Set> + <Set name="soLingerTime"><Property name="jetty.ssl.soLingerTime" default="-1"/></Set> + </New> + </Arg> + </Call> + + <!-- ============================================================= --> + <!-- Create a TLS (SSL) Context Factory for later reuse --> + <!-- ============================================================= --> + <New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory"> + <Set name="KeyStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.sslContext.keyStorePath" default="etc/keystore"/></Set> + <Set name="KeyStorePassword"><Property name="jetty.sslContext.keyStorePassword" default="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/></Set> + <Set name="KeyManagerPassword"><Property name="jetty.sslContext.keyManagerPassword" default="OBF:1u2u1wml1z7s1z7a1wnl1u2g"/></Set> + <Set name="TrustStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.sslContext.trustStorePath" default="etc/keystore"/></Set> + <Set name="TrustStorePassword"><Property name="jetty.sslContext.trustStorePassword" default="OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"/></Set> + <Set name="EndpointIdentificationAlgorithm"></Set> + <Set name="NeedClientAuth"><Property name="jetty.sslContext.needClientAuth" default="false"/></Set> + <Set name="WantClientAuth"><Property name="jetty.sslContext.wantClientAuth" default="false"/></Set> + <Set name="ExcludeCipherSuites"> + <Array type="String"> <Item>SSL_RSA_WITH_DES_CBC_SHA</Item> <Item>SSL_DHE_RSA_WITH_DES_CBC_SHA</Item> <Item>SSL_DHE_DSS_WITH_DES_CBC_SHA</Item> @@ -22,8 +48,9 @@ <Item>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</Item> <Item>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</Item> <Item>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</Item> - </Array> - </Set> + </Array> + </Set> + </New> <!-- =========================================================== --> <!-- Create a TLS specific HttpConfiguration based on the --> diff --git a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-testrealm.xml b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-testrealm.xml index d26b427b5c..4c8cb533cc 100644 --- a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-testrealm.xml +++ b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-testrealm.xml @@ -1,5 +1,5 @@ <?xml version="1.0"?> -<!DOCTYPE Configure PUBLIC "-" "http://www.eclipse.org/jetty/configure_9_0.dtd"> +<!DOCTYPE Configure PUBLIC "-" "http://www.eclipse.org/jetty/configure_9_3.dtd"> <Configure id="Server" class="org.eclipse.jetty.server.Server"> <!-- =========================================================== --> <!-- Configure Authentication Login Service --> diff --git a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty.xml b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty.xml index 170530b80e..a3850c9259 100644 --- a/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty.xml +++ b/jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty.xml @@ -1,5 +1,5 @@ <?xml version="1.0"?> -<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"> +<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd"> <!-- =============================================================== --> @@ -15,11 +15,11 @@ <!-- Server Thread Pool --> <!-- =========================================================== --> <Get name="ThreadPool"> - <!-- Default queued blocking threadpool --> <Set name="minThreads">10</Set> <Set name="maxThreads">200</Set> </Get> + <!-- =========================================================== --> <!-- Set handler Collection Structure --> <!-- =========================================================== --> @@ -43,7 +43,7 @@ <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration"> <Set name="secureScheme">https</Set> - <Set name="securePort"><Property name="jetty.secure.port" default="8443" /></Set> + <Set name="securePort"><Property name="jetty.httpConfig.securePort" default="8443" /></Set> <Set name="outputBufferSize">32768</Set> <Set name="requestHeaderSize">8192</Set> <Set name="responseHeaderSize">8192</Set> @@ -63,21 +63,25 @@ <!-- =========================================================== --> - <!-- jetty-jndi by default --> - <!-- =========================================================== --> - <Call class="org.eclipse.jetty.webapp.Configuration$ClassList" name="setServerDefault"> - <Arg><Ref refid="Server" /></Arg> - <Call name="addAfter"> - <Arg name="afterClass">org.eclipse.jetty.webapp.FragmentConfiguration</Arg> - <Arg> - <Array type="String"> - <Item>org.eclipse.jetty.plus.webapp.EnvConfiguration</Item> - <Item>org.eclipse.jetty.plus.webapp.PlusConfiguration</Item> - <Item>org.eclipse.jetty.annotations.AnnotationConfiguration</Item> - </Array> - </Arg> - </Call> + <!-- Set up the list of default configuration classes --> + <!-- =========================================================== --> + <Call name="setAttribute"> + <Arg>org.eclipse.jetty.webapp.configuration</Arg> + <Arg> + <New class="org.eclipse.jetty.webapp.Configuration$ClassList"> + <Arg> + <Array type="String"> + <Item>org.eclipse.jetty.osgi.boot.OSGiWebInfConfiguration</Item> + <Item>org.eclipse.jetty.webapp.WebXmlConfiguration</Item> + <Item>org.eclipse.jetty.webapp.MetaInfConfiguration</Item> + <Item>org.eclipse.jetty.webapp.FragmentConfiguration</Item> + <Item>org.eclipse.jetty.webapp.JettyWebXmlConfiguration</Item> + </Array> + </Arg> + </New> + </Arg> </Call> + <Call class="java.lang.System" name="setProperty"> <Arg>java.naming.factory.initial</Arg> diff --git a/jetty-osgi/test-jetty-osgi/src/test/config/etc/webdefault.xml b/jetty-osgi/test-jetty-osgi/src/test/config/etc/webdefault.xml index 1d61c93dba..d54d76f307 100644 --- a/jetty-osgi/test-jetty-osgi/src/test/config/etc/webdefault.xml +++ b/jetty-osgi/test-jetty-osgi/src/test/config/etc/webdefault.xml @@ -1,113 +1,142 @@ <?xml version="1.0" encoding="UTF-8"?> - -<!-- ===================================================================== --> -<!-- This file contains the default descriptor for web applications. --> -<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> -<!-- The intent of this descriptor is to include jetty specific or common --> -<!-- configuration for all webapps. If a context has a webdefault.xml --> -<!-- descriptor, it is applied before the contexts own web.xml file --> -<!-- --> -<!-- A context may be assigned a default descriptor by: --> -<!-- + Calling WebApplicationContext.setDefaultsDescriptor --> -<!-- + Passed an arg to addWebApplications --> -<!-- --> -<!-- This file is used both as the resource within the jetty.jar (which is --> -<!-- used as the default if no explicit defaults descriptor is set) and it --> -<!-- is copied to the etc directory of the Jetty distro and explicitly --> -<!-- by the jetty.xml file. --> -<!-- --> -<!-- ===================================================================== --> -<web-app - xmlns="http://java.sun.com/xml/ns/javaee" +<web-app + xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" - metadata-complete="true" - version="2.5"> + xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" + metadata-complete="false" + version="3.1"> + + <!-- ===================================================================== --> + <!-- This file contains the default descriptor for web applications. --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- The intent of this descriptor is to include jetty specific or common --> + <!-- configuration for all webapps. If a context has a webdefault.xml --> + <!-- descriptor, it is applied before the context's own web.xml file --> + <!-- --> + <!-- A context may be assigned a default descriptor by calling --> + <!-- WebAppContext.setDefaultsDescriptor(String). --> + <!-- --> + <!-- This file is present in the jetty-webapp.jar, and is used as the --> + <!-- defaults descriptor if no other is explicitly set on a context. --> + <!-- --> + <!-- A copy of this file is also placed into the $JETTY_HOME/etc dir of --> + <!-- the distribution, and is referenced by some of the other xml files, --> + <!-- eg the jetty-deploy.xml file. --> + <!-- ===================================================================== --> <description> - Default web.xml file. + Default web.xml file. This file is applied to a Web application before it's own WEB_INF/web.xml file </description> + <!-- ==================================================================== --> + <!-- Removes static references to beans from javax.el.BeanELResolver to --> + <!-- ensure webapp classloader can be released on undeploy --> + <!-- ==================================================================== --> + <listener> + <listener-class>org.eclipse.jetty.servlet.listener.ELContextCleaner</listener-class> + </listener> + + <!-- ==================================================================== --> + <!-- Removes static cache of Methods from java.beans.Introspector to --> + <!-- ensure webapp classloader can be released on undeploy --> + <!-- ==================================================================== --> + <listener> + <listener-class>org.eclipse.jetty.servlet.listener.IntrospectorCleaner</listener-class> + </listener> + <!-- ==================================================================== --> <!-- Context params to control Session Cookies --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- UNCOMMENT TO ACTIVATE - <context-param> - <param-name>org.eclipse.jetty.servlet.SessionDomain</param-name> - <param-value>127.0.0.1</param-value> - </context-param> - - <context-param> - <param-name>org.eclipse.jetty.servlet.SessionPath</param-name> - <param-value>/</param-value> - </context-param> - - <context-param> - <param-name>org.eclipse.jetty.servlet.MaxAge</param-name> - <param-value>-1</param-value> - </context-param> + <!-- + UNCOMMENT TO ACTIVATE + <context-param> + <param-name>org.eclipse.jetty.servlet.SessionDomain</param-name> + <param-value>127.0.0.1</param-value> + </context-param> + <context-param> + <param-name>org.eclipse.jetty.servlet.SessionPath</param-name> + <param-value>/</param-value> + </context-param> + <context-param> + <param-name>org.eclipse.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, OPTIONS 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. --> - <!-- --> - <!-- welcomeServlets If true, attempt to dispatch to welcome files --> - <!-- that are servlets, if no matching static --> - <!-- resources can be found. --> - <!-- --> - <!-- redirectWelcome If true, redirect welcome file requests --> - <!-- else use request dispatcher forwards --> - <!-- --> - <!-- gzip If set to true, then static content 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 --> - <!-- --> - <!-- relativeResourceBase --> - <!-- Set with a pathname relative to the base of the --> - <!-- servlet context root. Useful for only serving --> - <!-- static content from only specific subdirectories. --> - <!-- --> - <!-- useFileMappedBuffer --> - <!-- If set to true (the default), a memory mapped --> - <!-- file buffer will be used to serve static content --> - <!-- when using an NIO connector. Setting this value --> - <!-- to false means that a direct buffer will be used --> - <!-- instead. If you are having trouble with Windows --> - <!-- file locking, set this to false. --> - <!-- --> - <!-- cacheControl If set, all static content will have this value --> - <!-- set as the cache-control header. --> - <!-- --> - <!-- maxCacheSize Maximum size of the static resource cache --> - <!-- --> - <!-- maxCachedFileSize Maximum size of any single file in the cache --> - <!-- --> - <!-- maxCachedFiles Maximum number of files in the cache --> - <!-- --> - <!-- cacheType "nio", "bio" or "both" to determine the type(s) --> - <!-- of resource cache. A bio cached buffer may be used--> - <!-- by nio but is not as efficient as a nio buffer. --> - <!-- An nio cached buffer may not be used by bio. --> - <!-- --> - <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- + * 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. + * + * welcomeServlets If true, attempt to dispatch to welcome files + * that are servlets, but only after no matching static + * resources could be found. If false, then a welcome + * file must exist on disk. If "exact", then exact + * servlet matches are supported without an existing file. + * Default is true. + * + * This must be false if you want directory listings, + * but have index.jsp in your welcome file list. + * + * redirectWelcome If true, welcome files are redirected rather than + * forwarded to. + * + * gzip If set to true, then static content will be served as + * gzip content encoded if a matching resource is + * found ending with ".gz" + * + * resourceBase Set to replace the context resource base + * + * resourceCache If set, this is a context attribute name, which the servlet + * will use to look for a shared ResourceCache instance. + * + * relativeResourceBase + * Set with a pathname relative to the base of the + * servlet context root. Useful for only serving static content out + * of only specific subdirectories. + * + * pathInfoOnly If true, only the path info will be applied to the resourceBase + * + * stylesheet Set with the location of an optional stylesheet that will be used + * to decorate the directory listing html. + * + * aliases If True, aliases of resources are allowed (eg. symbolic + * links and caps variations). May bypass security constraints. + * + * etags If True, weak etags will be generated and handled. + * + * maxCacheSize The maximum total size of the cache or 0 for no cache. + * maxCachedFileSize The maximum size of a file to cache + * maxCachedFiles The maximum number of files to cache + * + * useFileMappedBuffer + * If set to true, it will use mapped file buffers to serve static content + * when using an NIO connector. Setting this value to false means that + * a direct buffer will be used instead of a mapped file buffer. + * This file sets the value to true. + * + * cacheControl If set, all static content will have this value set as the cache-control + * header. + * + --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <servlet> <servlet-name>default</servlet-name> <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class> <init-param> + <param-name>aliases</param-name> + <param-value>false</param-value> + </init-param> + <init-param> <param-name>acceptRanges</param-name> <param-value>true</param-value> </init-param> @@ -129,19 +158,19 @@ </init-param> <init-param> <param-name>maxCachedFileSize</param-name> - <param-value>10000000</param-value> + <param-value>200000000</param-value> </init-param> <init-param> <param-name>maxCachedFiles</param-name> - <param-value>1000</param-value> + <param-value>2048</param-value> </init-param> <init-param> - <param-name>cacheType</param-name> - <param-value>both</param-value> + <param-name>gzip</param-name> + <param-value>false</param-value> </init-param> <init-param> - <param-name>gzip</param-name> - <param-value>true</param-value> + <param-name>etags</param-name> + <param-value>false</param-value> </init-param> <init-param> <param-name>useFileMappedBuffer</param-name> @@ -149,6 +178,12 @@ </init-param> <!-- <init-param> + <param-name>resourceCache</param-name> + <param-value>resourceCache</param-value> + </init-param> + --> + <!-- + <init-param> <param-name>cacheControl</param-name> <param-value>max-age=3600,public</param-value> </init-param> @@ -156,18 +191,21 @@ <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>default</servlet-name> + <url-pattern>/</url-pattern> + </servlet-mapping> <!-- ==================================================================== --> <!-- JSP Servlet --> - <!-- This is the jasper JSP servlet from the jakarta project --> + <!-- This is the jasper JSP servlet. --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <!-- The JSP page compiler and execution servlet, which is the mechanism --> - <!-- used by Glassfish to support JSP pages. Traditionally, this servlet --> - <!-- is mapped to URL patterh "*.jsp". This servlet supports the --> - <!-- following initialization parameters (default values are in square --> - <!-- brackets): --> + <!-- used by the jsp container to support JSP pages. Traditionally, --> + <!-- this servlet is mapped to URL pattern "*.jsp". This servlet --> + <!-- supports the following initialization parameters (default values --> + <!-- are in square brackets): --> <!-- --> <!-- checkInterval If development is false and reloading is true, --> <!-- background compiles are enabled. checkInterval --> @@ -175,7 +213,7 @@ <!-- if a JSP page needs to be recompiled. [300] --> <!-- --> <!-- compiler Which compiler Ant should use to compile JSP --> - <!-- pages. See the Ant documenation for more --> + <!-- pages. See the Ant documentation for more --> <!-- information. [javac] --> <!-- --> <!-- classdebuginfo Should the class file be compiled with --> @@ -236,30 +274,31 @@ <!-- xpoweredBy Determines whether X-Powered-By response --> <!-- header is added by generated servlet [false] --> <!-- --> - <!-- If you wish to use Jikes to compile JSP pages: --> - <!-- Set the init parameter "compiler" to "jikes". Define --> - <!-- the property "-Dbuild.compiler.emacs=true" when starting Jetty --> - <!-- to cause Jikes to emit error messages in a format compatible with --> - <!-- Jasper. --> - <!-- If you get an error reporting that jikes can't use UTF-8 encoding, --> - <!-- try setting the init parameter "javaEncoding" to "ISO-8859-1". --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <servlet id="jsp"> <servlet-name>jsp</servlet-name> - <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> + <servlet-class>org.eclipse.jetty.jsp.JettyJspServlet</servlet-class> <init-param> - <param-name>logVerbosityLevel</param-name> - <param-value>DEBUG</param-value> + <param-name>logVerbosityLevel</param-name> + <param-value>DEBUG</param-value> </init-param> <init-param> - <param-name>fork</param-name> - <param-value>false</param-value> + <param-name>fork</param-name> + <param-value>false</param-value> </init-param> <init-param> - <param-name>xpoweredBy</param-name> - <param-value>false</param-value> + <param-name>xpoweredBy</param-name> + <param-value>false</param-value> </init-param> - <!-- + <init-param> + <param-name>compilerTargetVM</param-name> + <param-value>1.7</param-value> + </init-param> + <init-param> + <param-name>compilerSourceVM</param-name> + <param-value>1.7</param-value> + </init-param> + <!-- <init-param> <param-name>classpath</param-name> <param-value>?</param-value> @@ -280,50 +319,10 @@ <url-pattern>*.XSP</url-pattern> </servlet-mapping> - <!-- ==================================================================== --> - <!-- 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 --> - <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- Uncomment for dynamic invocation - <servlet> - <servlet-name>invoker</servlet-name> - <servlet-class>org.eclipse.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>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> - --> - - <!-- ==================================================================== --> + <!-- Default session configuration --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <session-config> <session-timeout>30</session-timeout> </session-config> @@ -331,7 +330,7 @@ <!-- ==================================================================== --> <!-- Default MIME mappings --> <!-- The default MIME mappings are provided by the mime.properties --> - <!-- resource in the org.eclipse.jetty.server.jar file. Additional or modified --> + <!-- resource in the jetty-http.jar file. Additional or modified --> <!-- mappings may be specified here --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <!-- UNCOMMENT TO ACTIVATE @@ -342,6 +341,8 @@ --> <!-- ==================================================================== --> + <!-- Default welcome files --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> @@ -349,48 +350,170 @@ </welcome-file-list> <!-- ==================================================================== --> + <!-- Default locale encodings --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <locale-encoding-mapping-list> - <locale-encoding-mapping><locale>ar</locale><encoding>ISO-8859-6</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>be</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>bg</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>ca</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>cs</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>da</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>de</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>el</locale><encoding>ISO-8859-7</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>en</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>es</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>et</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>fi</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>fr</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>hr</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>hu</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>is</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>it</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>iw</locale><encoding>ISO-8859-8</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>ja</locale><encoding>Shift_JIS</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>ko</locale><encoding>EUC-KR</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>lt</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>lv</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>mk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>nl</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>no</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>pl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>pt</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>ro</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>ru</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>sh</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>sk</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>sl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>sq</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>sr</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>sv</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>tr</locale><encoding>ISO-8859-9</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>uk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>zh</locale><encoding>GB2312</encoding></locale-encoding-mapping> - <locale-encoding-mapping><locale>zh_TW</locale><encoding>Big5</encoding></locale-encoding-mapping> + <locale-encoding-mapping> + <locale>ar</locale> + <encoding>ISO-8859-6</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>be</locale> + <encoding>ISO-8859-5</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>bg</locale> + <encoding>ISO-8859-5</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>ca</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>cs</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>da</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>de</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>el</locale> + <encoding>ISO-8859-7</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>en</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>es</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>et</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>fi</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>fr</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>hr</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>hu</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>is</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>it</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>iw</locale> + <encoding>ISO-8859-8</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>ja</locale> + <encoding>Shift_JIS</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>ko</locale> + <encoding>EUC-KR</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>lt</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>lv</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>mk</locale> + <encoding>ISO-8859-5</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>nl</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>no</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>pl</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>pt</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>ro</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>ru</locale> + <encoding>ISO-8859-5</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>sh</locale> + <encoding>ISO-8859-5</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>sk</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>sl</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>sq</locale> + <encoding>ISO-8859-2</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>sr</locale> + <encoding>ISO-8859-5</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>sv</locale> + <encoding>ISO-8859-1</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>tr</locale> + <encoding>ISO-8859-9</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>uk</locale> + <encoding>ISO-8859-5</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>zh</locale> + <encoding>GB2312</encoding> + </locale-encoding-mapping> + <locale-encoding-mapping> + <locale>zh_TW</locale> + <encoding>Big5</encoding> + </locale-encoding-mapping> </locale-encoding-mapping-list> + <!-- ==================================================================== --> + <!-- Disable TRACE method with security constraint --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <security-constraint> <web-resource-collection> <web-resource-name>Disable TRACE</web-resource-name> @@ -399,6 +522,13 @@ </web-resource-collection> <auth-constraint/> </security-constraint> + <security-constraint> + <web-resource-collection> + <web-resource-name>Enable everything but TRACE</web-resource-name> + <url-pattern>/</url-pattern> + <http-method-omission>TRACE</http-method-omission> + </web-resource-collection> + </security-constraint> </web-app> diff --git a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootContextAsService.java b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootContextAsService.java index 1f80c7be9b..a53846572d 100644 --- a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootContextAsService.java +++ b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootContextAsService.java @@ -18,18 +18,10 @@ package org.eclipse.jetty.osgi.test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.ops4j.pax.exam.CoreOptions.mavenBundle; -import static org.ops4j.pax.exam.CoreOptions.options; -import static org.ops4j.pax.exam.CoreOptions.systemProperty; - import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.List; - import javax.inject.Inject; import org.eclipse.jetty.client.HttpClient; @@ -40,14 +32,21 @@ import org.eclipse.jetty.server.handler.ContextHandler; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; +import org.ops4j.pax.exam.Configuration; import org.ops4j.pax.exam.CoreOptions; import org.ops4j.pax.exam.Option; -import org.ops4j.pax.exam.Configuration; import org.ops4j.pax.exam.junit.PaxExam; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.ops4j.pax.exam.CoreOptions.mavenBundle; +import static org.ops4j.pax.exam.CoreOptions.options; +import static org.ops4j.pax.exam.CoreOptions.systemProperty; + /** * TestJettyOSGiBootContextAsService * @@ -70,7 +69,7 @@ public class TestJettyOSGiBootContextAsService { ArrayList<Option> options = new ArrayList<Option>(); options.add(CoreOptions.junitBundles()); - options.addAll(configureJettyHomeAndPort("jetty-selector.xml")); + options.addAll(configureJettyHomeAndPort("jetty-http.xml")); options.add(CoreOptions.bootDelegationPackages("org.xml.sax", "org.xml.*", "org.w3c.*", "javax.xml.*")); options.addAll(TestJettyOSGiBootCore.coreJettyDependencies()); @@ -99,7 +98,8 @@ public class TestJettyOSGiBootContextAsService + "/jetty-deployer.xml;" + etc + "/jetty-testrealm.xml")); - options.add(systemProperty("jetty.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_JETTY_HTTP_PORT))); + options.add(systemProperty("jetty.http.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_HTTP_PORT))); + options.add(systemProperty("jetty.ssl.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_SSL_PORT))); options.add(systemProperty("jetty.home").value(etcFolder.getParentFile().getAbsolutePath())); return options; } @@ -122,7 +122,7 @@ public class TestJettyOSGiBootContextAsService try { client.start(); - ContentResponse response = client.GET("http://127.0.0.1:" + TestJettyOSGiBootCore.DEFAULT_JETTY_HTTP_PORT + "/acme/index.html"); + ContentResponse response = client.GET("http://127.0.0.1:" + TestJettyOSGiBootCore.DEFAULT_HTTP_PORT + "/acme/index.html"); assertEquals(HttpStatus.OK_200, response.getStatus()); String content = new String(response.getContent()); diff --git a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootCore.java b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootCore.java index 8f74dc3a66..324efd9907 100644 --- a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootCore.java +++ b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootCore.java @@ -18,14 +18,9 @@ package org.eclipse.jetty.osgi.test; -import static org.ops4j.pax.exam.CoreOptions.mavenBundle; -import static org.ops4j.pax.exam.CoreOptions.options; -import static org.ops4j.pax.exam.CoreOptions.systemProperty; - import java.util.ArrayList; import java.util.Arrays; import java.util.List; - import javax.inject.Inject; import org.junit.Ignore; @@ -39,6 +34,10 @@ import org.ops4j.pax.exam.junit.PaxExam; import org.ops4j.pax.exam.options.MavenUrlReference.VersionResolver; import org.osgi.framework.BundleContext; +import static org.ops4j.pax.exam.CoreOptions.mavenBundle; +import static org.ops4j.pax.exam.CoreOptions.options; +import static org.ops4j.pax.exam.CoreOptions.systemProperty; + /** * Default OSGi setup integration test @@ -47,7 +46,10 @@ import org.osgi.framework.BundleContext; public class TestJettyOSGiBootCore { private static final String LOG_LEVEL = "WARN"; - public static int DEFAULT_JETTY_HTTP_PORT = 9876; + + // TODO these should be dynamic + public static final int DEFAULT_HTTP_PORT = 9876; + public static final int DEFAULT_SSL_PORT = 9877; @Inject private BundleContext bundleContext; @@ -71,7 +73,8 @@ public class TestJettyOSGiBootCore { List<Option> res = new ArrayList<Option>(); // get the jetty home config from the osgi boot bundle. - res.add(CoreOptions.systemProperty("jetty.port").value(String.valueOf(DEFAULT_JETTY_HTTP_PORT))); + res.add(CoreOptions.systemProperty("jetty.http.port").value(String.valueOf(DEFAULT_HTTP_PORT))); + res.add(CoreOptions.systemProperty("jetty.ssl.port").value(String.valueOf(DEFAULT_SSL_PORT))); res.add(CoreOptions.systemProperty("jetty.home.bundle").value("org.eclipse.jetty.osgi.boot")); res.addAll(coreJettyDependencies()); return res; @@ -93,10 +96,10 @@ public class TestJettyOSGiBootCore res.add(mavenBundle().groupId( "org.apache.geronimo.specs" ).artifactId( "geronimo-jta_1.1_spec" ).version("1.1.1").noStart()); res.add(mavenBundle().groupId( "org.eclipse.jetty.orbit" ).artifactId( "javax.mail.glassfish" ).version( "1.4.1.v201005082020" ).noStart()); + res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-util" ).versionAsInProject().noStart()); res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-deploy" ).versionAsInProject().noStart()); res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-server" ).versionAsInProject().noStart()); res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-servlet" ).versionAsInProject().noStart()); - res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-util" ).versionAsInProject().noStart()); res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-http" ).versionAsInProject().noStart()); res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-xml" ).versionAsInProject().noStart()); res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-webapp" ).versionAsInProject().noStart()); @@ -141,7 +144,7 @@ public class TestJettyOSGiBootCore res.add(mavenBundle().groupId("org.mortbay.jasper").artifactId("apache-jsp").versionAsInProject()); res.add(mavenBundle().groupId("org.eclipse.jetty").artifactId("apache-jsp").versionAsInProject()); res.add(mavenBundle().groupId("org.glassfish.web").artifactId("javax.servlet.jsp.jstl").versionAsInProject()); - res.add(mavenBundle().groupId("org.eclipse.jetty.orbit").artifactId("org.eclipse.jdt.core").versionAsInProject()); + res.add(mavenBundle().groupId("org.eclipse.jdt.core.compiler").artifactId("ecj").versionAsInProject()); res.add(mavenBundle().groupId("org.eclipse.jetty.osgi").artifactId("jetty-osgi-boot-jsp").versionAsInProject().noStart()); return res; } @@ -170,6 +173,6 @@ public class TestJettyOSGiBootCore @Test public void testHttpService() throws Exception { - TestOSGiUtil.testHttpServiceGreetings(bundleContext, "http", DEFAULT_JETTY_HTTP_PORT); + TestOSGiUtil.testHttpServiceGreetings(bundleContext, "http", DEFAULT_HTTP_PORT); } } diff --git a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootSpdy.java b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootHTTP2.java index ff8760f8ce..c90f6b5552 100644 --- a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootSpdy.java +++ b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootHTTP2.java @@ -18,40 +18,34 @@ package org.eclipse.jetty.osgi.test; -import static org.ops4j.pax.exam.CoreOptions.mavenBundle; -import static org.ops4j.pax.exam.CoreOptions.systemProperty; -import static org.ops4j.pax.exam.CoreOptions.options; - - import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.List; - import javax.inject.Inject; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; +import org.ops4j.pax.exam.Configuration; import org.ops4j.pax.exam.CoreOptions; import org.ops4j.pax.exam.Option; -import org.ops4j.pax.exam.Configuration; import org.ops4j.pax.exam.junit.PaxExam; -import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; +import static org.ops4j.pax.exam.CoreOptions.mavenBundle; +import static org.ops4j.pax.exam.CoreOptions.options; +import static org.ops4j.pax.exam.CoreOptions.systemProperty; + /** - * SPDY setup. + * HTTP2 setup. */ @RunWith(PaxExam.class) -public class TestJettyOSGiBootSpdy +public class TestJettyOSGiBootHTTP2 { private static final String LOG_LEVEL = "WARN"; - - private static final String JETTY_SPDY_PORT = "jetty.spdy.port"; - private static final int DEFAULT_JETTY_SPDY_PORT = 9877; @Inject private BundleContext bundleContext; @@ -60,41 +54,39 @@ public class TestJettyOSGiBootSpdy public Option[] config() { ArrayList<Option> options = new ArrayList<Option>(); - options.addAll(TestJettyOSGiBootWithJsp.configureJettyHomeAndPort("jetty-spdy.xml")); + options.addAll(TestJettyOSGiBootWithJsp.configureJettyHomeAndPort(true,"jetty-http2.xml")); options.addAll(TestJettyOSGiBootCore.coreJettyDependencies()); - options.addAll(spdyJettyDependencies()); + options.addAll(http2JettyDependencies()); options.add(CoreOptions.junitBundles()); options.addAll(TestJettyOSGiBootCore.httpServiceJetty()); options.addAll(Arrays.asList(options(systemProperty("pax.exam.logging").value("none")))); options.addAll(Arrays.asList(options(systemProperty("org.ops4j.pax.logging.DefaultServiceLog.level").value(LOG_LEVEL)))); - options.addAll(Arrays.asList(options(systemProperty("org.eclipse.jetty.LEVEL").value(LOG_LEVEL)))); + options.addAll(Arrays.asList(options(systemProperty("org.eclipse.jetty.osgi.LEVEL").value(LOG_LEVEL)))); return options.toArray(new Option[options.size()]); } - public static List<Option> spdyJettyDependencies() + public static List<Option> http2JettyDependencies() { List<Option> res = new ArrayList<Option>(); - res.add(CoreOptions.systemProperty(JETTY_SPDY_PORT).value(String.valueOf(DEFAULT_JETTY_SPDY_PORT))); + res.add(CoreOptions.systemProperty("jetty.http.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_HTTP_PORT))); + res.add(CoreOptions.systemProperty("jetty.ssl.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_SSL_PORT))); String alpnBoot = System.getProperty("mortbay-alpn-boot"); if (alpnBoot == null) { throw new IllegalStateException("Define path to alpn boot jar as system property -Dmortbay-alpn-boot"); } File checkALPNBoot = new File(alpnBoot); if (!checkALPNBoot.exists()) { throw new IllegalStateException("Unable to find the alpn boot jar here: " + alpnBoot); } - res.add(CoreOptions.vmOptions("-Xbootclasspath/p:" + alpnBoot)); res.add(mavenBundle().groupId("org.eclipse.jetty.osgi").artifactId("jetty-osgi-alpn").versionAsInProject().noStart()); res.add(mavenBundle().groupId("org.eclipse.jetty").artifactId("jetty-alpn-server").versionAsInProject().start()); - res.add(mavenBundle().groupId("org.eclipse.jetty.spdy").artifactId("spdy-client").versionAsInProject().noStart()); - res.add(mavenBundle().groupId("org.eclipse.jetty.spdy").artifactId("spdy-core").versionAsInProject().noStart()); - res.add(mavenBundle().groupId("org.eclipse.jetty.spdy").artifactId("spdy-server").versionAsInProject().noStart()); - res.add(mavenBundle().groupId("org.eclipse.jetty.spdy").artifactId("spdy-http-common").versionAsInProject().noStart()); - res.add(mavenBundle().groupId("org.eclipse.jetty.spdy").artifactId("spdy-http-server").versionAsInProject().noStart()); + res.add(mavenBundle().groupId("org.eclipse.jetty.http2").artifactId("http2-common").versionAsInProject().noStart()); + res.add(mavenBundle().groupId("org.eclipse.jetty.http2").artifactId("http2-hpack").versionAsInProject().noStart()); + res.add(mavenBundle().groupId("org.eclipse.jetty.http2").artifactId("http2-server").versionAsInProject().noStart()); return res; } - + @Test public void checkALPNBootOnBootstrapClasspath() throws Exception { @@ -102,19 +94,19 @@ public class TestJettyOSGiBootSpdy Assert.assertNotNull(alpn); Assert.assertNull(alpn.getClassLoader()); } - + @Ignore @Test - public void assertAllBundlesActiveOrResolved() + public void assertAllBundlesActiveOrResolved() throws Exception { - TestOSGiUtil.debugBundles(bundleContext); TestOSGiUtil.assertAllBundlesActiveOrResolved(bundleContext); } + @Test - public void testSpdyOnHttpService() throws Exception + public void testHTTP2OnHttpService() throws Exception { - TestOSGiUtil.testHttpServiceGreetings(bundleContext, "https", DEFAULT_JETTY_SPDY_PORT); + TestOSGiUtil.testHttpServiceGreetings(bundleContext, "https", TestJettyOSGiBootCore.DEFAULT_SSL_PORT); } } diff --git a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWebAppAsService.java b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWebAppAsService.java index da845738a2..b725b7d860 100644 --- a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWebAppAsService.java +++ b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWebAppAsService.java @@ -18,18 +18,10 @@ package org.eclipse.jetty.osgi.test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.ops4j.pax.exam.CoreOptions.mavenBundle; -import static org.ops4j.pax.exam.CoreOptions.options; -import static org.ops4j.pax.exam.CoreOptions.systemProperty; - import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.List; - import javax.inject.Inject; import org.eclipse.jetty.client.HttpClient; @@ -41,13 +33,20 @@ import org.eclipse.jetty.webapp.WebAppContext; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; +import org.ops4j.pax.exam.Configuration; import org.ops4j.pax.exam.CoreOptions; import org.ops4j.pax.exam.Option; -import org.ops4j.pax.exam.Configuration; import org.ops4j.pax.exam.junit.PaxExam; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.ops4j.pax.exam.CoreOptions.mavenBundle; +import static org.ops4j.pax.exam.CoreOptions.options; +import static org.ops4j.pax.exam.CoreOptions.systemProperty; + /** * TestJettyOSGiBootWebAppAsService * @@ -72,7 +71,7 @@ public class TestJettyOSGiBootWebAppAsService { ArrayList<Option> options = new ArrayList<Option>(); options.add(CoreOptions.junitBundles()); - options.addAll(configureJettyHomeAndPort("jetty-selector.xml")); + options.addAll(configureJettyHomeAndPort("jetty-http.xml")); options.add(CoreOptions.bootDelegationPackages("org.xml.sax", "org.xml.*", "org.w3c.*", "javax.xml.*")); options.add(CoreOptions.systemPackages("com.sun.org.apache.xalan.internal.res","com.sun.org.apache.xml.internal.utils", "com.sun.org.apache.xml.internal.utils", "com.sun.org.apache.xpath.internal", @@ -102,7 +101,8 @@ public class TestJettyOSGiBootWebAppAsService + "/jetty-deployer.xml;" + etc + "/jetty-testrealm.xml")); - options.add(systemProperty("jetty.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_JETTY_HTTP_PORT))); + options.add(systemProperty("jetty.http.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_HTTP_PORT))); + options.add(systemProperty("jetty.ssl.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_SSL_PORT))); options.add(systemProperty("jetty.home").value(etcFolder.getParentFile().getAbsolutePath())); return options; } @@ -137,7 +137,7 @@ public class TestJettyOSGiBootWebAppAsService { client.start(); - ContentResponse response = client.GET("http://127.0.0.1:" + TestJettyOSGiBootCore.DEFAULT_JETTY_HTTP_PORT + "/acme/index.html"); + ContentResponse response = client.GET("http://127.0.0.1:" + TestJettyOSGiBootCore.DEFAULT_HTTP_PORT + "/acme/index.html"); assertEquals(HttpStatus.OK_200, response.getStatus()); String content = new String(response.getContent()); diff --git a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithAnnotations.java b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithAnnotations.java index acdd7d859a..a41c633438 100644 --- a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithAnnotations.java +++ b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithAnnotations.java @@ -18,17 +18,10 @@ package org.eclipse.jetty.osgi.test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.ops4j.pax.exam.CoreOptions.mavenBundle; -import static org.ops4j.pax.exam.CoreOptions.options; -import static org.ops4j.pax.exam.CoreOptions.systemProperty; - import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.List; - import javax.inject.Inject; import org.eclipse.jetty.client.HttpClient; @@ -45,6 +38,12 @@ import org.ops4j.pax.exam.Option; import org.ops4j.pax.exam.junit.PaxExam; import org.osgi.framework.BundleContext; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.ops4j.pax.exam.CoreOptions.mavenBundle; +import static org.ops4j.pax.exam.CoreOptions.options; +import static org.ops4j.pax.exam.CoreOptions.systemProperty; + /** * Pax-Exam to make sure the jetty-osgi-boot can be started along with the * httpservice web-bundle. Then make sure we can deploy an OSGi service on the @@ -62,10 +61,9 @@ public class TestJettyOSGiBootWithAnnotations @Configuration public static Option[] configure() { - ArrayList<Option> options = new ArrayList<Option>(); options.add(CoreOptions.junitBundles()); - options.addAll(configureJettyHomeAndPort("jetty-selector.xml")); + options.addAll(configureJettyHomeAndPort("jetty-http.xml")); options.add(CoreOptions.bootDelegationPackages("org.xml.sax", "org.xml.*", "org.w3c.*", "javax.sql.*","javax.xml.*", "javax.activation.*")); options.add(CoreOptions.systemPackages("com.sun.org.apache.xalan.internal.res","com.sun.org.apache.xml.internal.utils", "com.sun.org.apache.xml.internal.utils", "com.sun.org.apache.xpath.internal", @@ -75,7 +73,7 @@ public class TestJettyOSGiBootWithAnnotations options.addAll(Arrays.asList(options(systemProperty("pax.exam.logging").value("none")))); options.addAll(Arrays.asList(options(systemProperty("org.ops4j.pax.logging.DefaultServiceLog.level").value(LOG_LEVEL)))); options.addAll(Arrays.asList(options(systemProperty("org.eclipse.jetty.annotations.LEVEL").value(LOG_LEVEL)))); - //options.addAll(TestJettyOSGiBootCore.consoleDependencies()); + // options.addAll(TestJettyOSGiBootCore.consoleDependencies()); options.addAll(jspDependencies()); options.addAll(annotationDependencies()); return options.toArray(new Option[options.size()]); @@ -101,7 +99,8 @@ public class TestJettyOSGiBootWithAnnotations + "/jetty-testrealm.xml"; options.add(systemProperty(OSGiServerConstants.MANAGED_JETTY_XML_CONFIG_URLS).value(xmlConfigs)); - options.add(systemProperty("jetty.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_JETTY_HTTP_PORT))); + options.add(systemProperty("jetty.http.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_HTTP_PORT))); + options.add(systemProperty("jetty.ssl.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_SSL_PORT))); options.add(systemProperty("jetty.home").value(etcFolder.getParentFile().getAbsolutePath())); return options; } @@ -135,7 +134,7 @@ public class TestJettyOSGiBootWithAnnotations @Test public void testHttpService() throws Exception { - TestOSGiUtil.testHttpServiceGreetings(bundleContext, "http", TestJettyOSGiBootCore.DEFAULT_JETTY_HTTP_PORT); + TestOSGiUtil.testHttpServiceGreetings(bundleContext, "http", TestJettyOSGiBootCore.DEFAULT_HTTP_PORT); } @@ -143,17 +142,18 @@ public class TestJettyOSGiBootWithAnnotations @Test public void testIndex() throws Exception { + // TestOSGiUtil.debugBundles(bundleContext); HttpClient client = new HttpClient(); try { client.start(); - ContentResponse response = client.GET("http://127.0.0.1:" + TestJettyOSGiBootCore.DEFAULT_JETTY_HTTP_PORT + "/index.html"); + ContentResponse response = client.GET("http://127.0.0.1:" + TestJettyOSGiBootCore.DEFAULT_HTTP_PORT + "/index.html"); assertEquals(HttpStatus.OK_200, response.getStatus()); String content = new String(response.getContent()); assertTrue(content.contains("<h1>Servlet 3.1 Test WebApp</h1>")); - Request req = client.POST("http://127.0.0.1:" + TestJettyOSGiBootCore.DEFAULT_JETTY_HTTP_PORT + "/test"); + Request req = client.POST("http://127.0.0.1:" + TestJettyOSGiBootCore.DEFAULT_HTTP_PORT + "/test"); response = req.send(); content = new String(response.getContent()); assertTrue(content.contains("<p><b>Result: <span class=\"pass\">PASS</span></p>")); diff --git a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithJsp.java b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithJsp.java index 0145a1a31a..b59b839be3 100644 --- a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithJsp.java +++ b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithJsp.java @@ -18,17 +18,10 @@ package org.eclipse.jetty.osgi.test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.ops4j.pax.exam.CoreOptions.mavenBundle; -import static org.ops4j.pax.exam.CoreOptions.options; -import static org.ops4j.pax.exam.CoreOptions.systemProperty; - import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.List; - import javax.inject.Inject; import org.eclipse.jetty.client.HttpClient; @@ -44,6 +37,12 @@ import org.ops4j.pax.exam.Option; import org.ops4j.pax.exam.junit.PaxExam; import org.osgi.framework.BundleContext; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.ops4j.pax.exam.CoreOptions.mavenBundle; +import static org.ops4j.pax.exam.CoreOptions.options; +import static org.ops4j.pax.exam.CoreOptions.systemProperty; + /** * Pax-Exam to make sure the jetty-osgi-boot can be started along with the * httpservice web-bundle. Then make sure we can deploy an OSGi service on the @@ -52,7 +51,7 @@ import org.osgi.framework.BundleContext; @RunWith(PaxExam.class) public class TestJettyOSGiBootWithJsp { - private static final String LOG_LEVEL = "INFO"; + private static final String LOG_LEVEL = "WARN"; @Inject BundleContext bundleContext = null; @@ -60,10 +59,9 @@ public class TestJettyOSGiBootWithJsp @Configuration public static Option[] configure() { - ArrayList<Option> options = new ArrayList<Option>(); options.add(CoreOptions.junitBundles()); - options.addAll(configureJettyHomeAndPort("jetty-selector.xml")); + options.addAll(configureJettyHomeAndPort(false,"jetty-http.xml")); options.add(CoreOptions.bootDelegationPackages("org.xml.sax", "org.xml.*", "org.w3c.*", "javax.xml.*", "javax.activation.*")); options.add(CoreOptions.systemPackages("com.sun.org.apache.xalan.internal.res","com.sun.org.apache.xml.internal.utils", "com.sun.org.apache.xml.internal.utils", "com.sun.org.apache.xpath.internal", @@ -73,33 +71,38 @@ public class TestJettyOSGiBootWithJsp options.addAll(Arrays.asList(options(systemProperty("pax.exam.logging").value("none")))); options.addAll(Arrays.asList(options(systemProperty("org.ops4j.pax.logging.DefaultServiceLog.level").value(LOG_LEVEL)))); options.addAll(Arrays.asList(options(systemProperty("org.eclipse.jetty.LEVEL").value(LOG_LEVEL)))); - options.addAll(Arrays.asList(options(systemProperty("org.eclipse.jetty.annotations.LEVEL").value("DEBUG")))); + options.addAll(Arrays.asList(options(systemProperty("org.eclipse.jetty.osgi.LEVEL").value(LOG_LEVEL)))); options.addAll(jspDependencies()); return options.toArray(new Option[options.size()]); } - public static List<Option> configureJettyHomeAndPort(String jettySelectorFileName) + public static List<Option> configureJettyHomeAndPort(boolean ssl,String jettySelectorFileName) { File etcFolder = new File("src/test/config/etc"); String etc = "file://" + etcFolder.getAbsolutePath(); List<Option> options = new ArrayList<Option>(); - String xmlConfigs = etc + "/jetty.xml;" + String xmlConfigs = etc + "/jetty.xml"; + if (ssl) + xmlConfigs += ";" + + etc + + "/jetty-ssl.xml;" + + etc + + "/jetty-https.xml;"; + xmlConfigs+= ";" + etc + "/" + jettySelectorFileName + ";" + etc - + "/jetty-ssl.xml;" - + etc - + "/jetty-https.xml;" - + etc + "/jetty-deployer.xml;" + etc + "/jetty-testrealm.xml"; options.add(systemProperty(OSGiServerConstants.MANAGED_JETTY_XML_CONFIG_URLS).value(xmlConfigs)); - options.add(systemProperty("jetty.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_JETTY_HTTP_PORT))); + options.add(systemProperty("jetty.http.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_HTTP_PORT))); + options.add(systemProperty("jetty.ssl.port").value(String.valueOf(TestJettyOSGiBootCore.DEFAULT_SSL_PORT))); options.add(systemProperty("jetty.home").value(etcFolder.getParentFile().getAbsolutePath())); + options.add(systemProperty("jetty.base").value(etcFolder.getParentFile().getAbsolutePath())); return options; } @@ -114,8 +117,8 @@ public class TestJettyOSGiBootWithJsp } - @Test @Ignore + @Test public void assertAllBundlesActiveOrResolved() { TestOSGiUtil.debugBundles(bundleContext); @@ -128,19 +131,20 @@ public class TestJettyOSGiBootWithJsp @Test public void testHttpService() throws Exception { - TestOSGiUtil.testHttpServiceGreetings(bundleContext, "http", TestJettyOSGiBootCore.DEFAULT_JETTY_HTTP_PORT); + TestOSGiUtil.testHttpServiceGreetings(bundleContext, "http", TestJettyOSGiBootCore.DEFAULT_HTTP_PORT); } @Test public void testJspDump() throws Exception { - + // TestOSGiUtil.debugBundles(bundleContext); HttpClient client = new HttpClient(); try { client.start(); - ContentResponse response = client.GET("http://127.0.0.1:" + TestJettyOSGiBootCore.DEFAULT_JETTY_HTTP_PORT + "/jsp/jstl.jsp"); + ContentResponse response = client.GET("http://127.0.0.1:" + TestJettyOSGiBootCore.DEFAULT_HTTP_PORT + "/jsp/jstl.jsp"); + assertEquals(HttpStatus.OK_200, response.getStatus()); String content = new String(response.getContent()); assertTrue(content.contains("JSTL Example")); diff --git a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestOSGiUtil.java b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestOSGiUtil.java index 82f5d8f0f6..65737800a4 100644 --- a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestOSGiUtil.java +++ b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestOSGiUtil.java @@ -20,7 +20,6 @@ package org.eclipse.jetty.osgi.test; import java.io.IOException; import java.util.HashMap; -import java.util.List; import java.util.Map; import javax.servlet.ServletException; @@ -33,7 +32,6 @@ import org.eclipse.jetty.client.api.ContentResponse; import org.eclipse.jetty.http.HttpStatus; import org.eclipse.jetty.util.ssl.SslContextFactory; import org.junit.Assert; -import org.ops4j.pax.exam.Option; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; |