Merge remote-tracking branch 'origin/jetty-12.0.x-more-modules-enabled' into jetty-12.0.x

This commit is contained in:
Jan Bartel 2022-05-31 10:40:04 +10:00
commit 4fde2b7769
68 changed files with 365 additions and 272 deletions

View File

@ -4,6 +4,7 @@
<!-- =========================================================== -->
<!-- configure rewrite rule container as a customizer -->
<!-- =========================================================== -->
<!-- TODO no longer needed?
<Call name="addCustomizer">
<Arg>
<New id="Rewrite" class="org.eclipse.jetty.rewrite.RewriteCustomizer">
@ -13,5 +14,6 @@
</New>
</Arg>
</Call>
-->
</Configure>

View File

@ -8,19 +8,22 @@
<Call name="insertHandler">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
<!-- TODO
<Set name="rewriteRequestURI" property="jetty.rewrite.rewriteRequestURI"/>
<Set name="rewritePathInfo" property="jetty.rewrite.rewritePathInfo"/>
-->
<Set name="originalPathAttribute"><Property name="jetty.rewrite.originalPathAttribute" default="requestedPath"/></Set>
<!-- Set DispatcherTypes -->
<!-- TODO
<Set name="dispatcherTypes">
<Array type="jakarta.servlet.DispatcherType">
<Item><Call class="jakarta.servlet.DispatcherType" name="valueOf"><Arg>REQUEST</Arg></Call></Item>
<Item><Call class="jakarta.servlet.DispatcherType" name="valueOf"><Arg>ASYNC</Arg></Call></Item>
</Array>
</Set>
<Get id="Rewrite" name="ruleContainer" />
-->
<!-- see rewrite-rules.xml in $JETTY_BASE for how to add a rule(s) -->
</New>
</Arg>

View File

@ -42,6 +42,7 @@ import org.eclipse.jetty.util.Uptime;
import org.eclipse.jetty.util.annotation.ManagedAttribute;
import org.eclipse.jetty.util.annotation.Name;
import org.eclipse.jetty.util.component.AttributeContainerMap;
import org.eclipse.jetty.util.component.DumpableCollection;
import org.eclipse.jetty.util.component.Environment;
import org.eclipse.jetty.util.component.Graceful;
import org.eclipse.jetty.util.component.LifeCycle;
@ -647,7 +648,7 @@ public class Server extends Handler.Wrapper implements Attributes
@Override
public void dump(Appendable out, String indent) throws IOException
{
dumpObjects(out, indent, new ClassLoaderDump(this.getClass().getClassLoader()));
dumpObjects(out, indent, new ClassLoaderDump(this.getClass().getClassLoader()), new DumpableCollection("environments", Environment.getAll()));
}
public static void main(String... args)

View File

@ -14,6 +14,8 @@
package org.eclipse.jetty.util.component;
import java.io.IOException;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@ -24,6 +26,11 @@ public interface Environment extends Attributes
{
Environment CORE = ensure("core");
static Collection<Environment> getAll()
{
return Collections.unmodifiableCollection(Named.__environments.values());
}
static Environment get(String name)
{
return Named.__environments.get(name);

View File

@ -3,13 +3,15 @@
[description]
Enables Annotation scanning for deployed web applications.
[environment]
ee10
[depend]
plus
ee10-plus
[lib]
lib/jetty-annotations-${jetty.version}.jar
lib/annotations/*.jar
lib/jetty-ee10-annotations-${jetty.version}.jar
lib/ee10-annotations/*.jar
[jpms]
add-modules:org.objectweb.asm

View File

@ -3,6 +3,9 @@
[description]
Enables use of the apache implementation of JSP.
[lib]
lib/apache-jsp/*.jar
[environment]
ee10
[lib]
lib/ee10-apache-jsp/*.jar

View File

@ -4,6 +4,9 @@
Configures Jetty to use the "CdiDecoratingListener" as the default CDI mode.
This mode that allows a webapp to register it's own CDI decorator.
[environment]
ee10
[tag]
cdi
@ -11,7 +14,7 @@ cdi
cdi-mode
[depend]
cdi
ee10-cdi
[ini]
jetty.cdi.mode=CdiDecoratingListener

View File

@ -4,6 +4,9 @@
Configures Jetty to use the "CdiSpiDecorator" as the default CDI mode.
This mode uses the CDI SPI to integrate an arbitrary CDI implementation.
[environment]
ee10
[tag]
cdi
@ -11,7 +14,7 @@ cdi
cdi-mode
[depend]
cdi
ee10-cdi
[ini]
jetty.cdi.mode=CdiSpiDecorator

View File

@ -13,6 +13,9 @@ CdiSpiDecorator - Jetty will call the CDI SPI within the webapp to decorate
CdiDecoratingLister - The webapp may register a decorator on the context attribute
"org.eclipse.jetty.ee10.cdi.decorator".
[environment]
ee10
[tag]
cdi
@ -23,7 +26,7 @@ cdi
deploy
[xml]
etc/cdi/jetty-cdi.xml
etc/cdi/jetty-ee10-cdi.xml
[lib]
lib/jetty-cdi-${jetty.version}.jar
lib/jetty-ee10-cdi-${jetty.version}.jar

View File

@ -14,7 +14,7 @@ webapp
ee10-deploy
ee10-jaas
jdbc
jsp
ee10-jsp
ee10-annotations
ext

View File

@ -7,14 +7,14 @@
<Configure id='wac' class="org.eclipse.jetty.ee10.webapp.WebAppContext">
<Set name="contextPath">/test-jaas</Set>
<Set name="war"><Property name="jetty.webapps" default="." />/demo-jaas.war
<Set name="war"><Property name="jetty.webapps" default="." />/demo-ee10-jaas.war
</Set>
<Set name="extractWAR">true</Set>
<Set name="securityHandler">
<New class="org.eclipse.jetty.ee10.servlet.security.ConstraintSecurityHandler">
<Set name="loginService">
<New class="org.eclipse.jetty.jaas.JAASLoginService">
<New class="org.eclipse.jetty.ee10.jaas.JAASLoginService">
<Set name="name">Demo JAAS Realm</Set>
<Set name="loginModuleName">xyz</Set>
</New>

View File

@ -13,8 +13,8 @@ ee10
[depends]
ee10-deploy
jdbc
jsp
jstl
ee10-jsp
ee10-jstl
ee10-annotations
ext
ee10-servlets
@ -23,7 +23,7 @@ ee10-websocket-jetty
ee10-demo-realm
[files]
webapps/demo-ee10-jetty.d/
webapps-ee10/demo-ee10-jetty.d/
basehome:modules/demo.d/demo-ee10-jetty.xml|webapps-ee10/demo-ee10-jetty.xml
basehome:modules/demo.d/demo-ee10-jetty-override-web.xml|webapps-ee10/demo-ee10-jetty.d/demo-ee10-jetty-override-web.xml
maven://org.eclipse.jetty.ee10.demos/demo-ee10-jetty-webapp/${jetty.version}/war|webapps-ee10/demo-ee10-jetty.war

View File

@ -13,7 +13,7 @@ Configure and deploy the test web application
<!-- + war OR resourceBase -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<Set name="contextPath">/test</Set>
<Set name="war"><Property name="jetty.webapps" default="." />/demo-jetty.war
<Set name="war"><Property name="jetty.webapps" default="." />/demo-ee10-jetty.war
</Set>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
@ -22,7 +22,7 @@ Configure and deploy the test web application
<Set name="extractWAR">true</Set>
<Set name="copyWebDir">false</Set>
<Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault-ee10.xml</Set>
<Set name="overrideDescriptor"><Property name="jetty.webapps" default="." />/demo-jetty.d/demo-jetty-override-web.xml
<Set name="overrideDescriptor"><Property name="jetty.webapps" default="." />/demo-jetty.d/demo-ee10-jetty-override-web.xml
</Set>
<!-- Enable WebSocket container -->

View File

@ -10,20 +10,13 @@
<!-- Add rewrite rules -->
<!-- ============================================================= -->
<Ref refid="Rewrite">
<!-- Add rule to protect against IE ssl bug -->
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.MsieSslRule"/>
</Arg>
</Call>
<!-- protect favicon handling -->
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
<Set name="pattern">/favicon.ico</Set>
<Set name="name">Cache-Control</Set>
<Set name="value">Max-Age=3600,public</Set>
<Arg>/favicon.ico</Arg>
<Arg>Cache-Control</Arg>
<Arg>Max-Age=3600,public</Arg>
<Set name="terminating">true</Set>
</New>
</Arg>
@ -33,8 +26,8 @@
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule">
<Set name="pattern">/test/rewrite/</Set>
<Set name="replacement">/test/rewrite/info.html</Set>
<Arg>/test/rewrite/</Arg>
<Arg>/test/rewrite/info.html</Arg>
</New>
</Arg>
</Call>
@ -43,8 +36,8 @@
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule">
<Set name="pattern">/test/some/old/context</Set>
<Set name="replacement">/test/rewritten/newcontext</Set>
<Arg>/test/some/old/context</Arg>
<Arg>/test/rewritten/newcontext</Arg>
</New>
</Arg>
</Call>
@ -53,8 +46,8 @@
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule">
<Set name="pattern">/test/rewrite/for/*</Set>
<Set name="replacement">/test/rewritten/</Set>
<Arg>/test/rewrite/for/*</Arg>
<Arg>/test/rewritten/</Arg>
</New>
</Arg>
</Call>
@ -63,8 +56,8 @@
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.RewriteRegexRule">
<Set name="regex">(.*?)/reverse/([^/]*)/(.*)</Set>
<Set name="replacement">$1/reverse/$3/$2</Set>
<Arg>(.*?)/reverse/([^/]*)/(.*)</Arg>
<Arg>$1/reverse/$3/$2</Arg>
</New>
</Arg>
</Call>
@ -73,9 +66,9 @@
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.CookiePatternRule">
<Set name="pattern">/*</Set>
<Set name="name">visited</Set>
<Set name="value">yes</Set>
<Arg>/*</Arg>
<Arg>visited</Arg>
<Arg>yes</Arg>
</New>
</Arg>
</Call>
@ -84,8 +77,8 @@
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.RedirectPatternRule">
<Set name="pattern">/test/redirect/*</Set>
<Set name="location">/test/redirected</Set>
<Arg>/test/redirect/*</Arg>
<Arg>/test/redirected</Arg>
</New>
</Arg>
</Call>
@ -94,9 +87,9 @@
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.ResponsePatternRule">
<Set name="pattern">/400Error</Set>
<Set name="code">400</Set>
<Set name="message">ResponsePatternRule Demo</Set>
<Arg>/400Error</Arg>
<Arg type="int">400</Arg>
<Arg>ResponsePatternRuleDemo</Arg>
</New>
</Arg>
</Call>

View File

@ -12,7 +12,7 @@
</New>
<Set name="contextPath">/test-jndi</Set>
<Set name="war"><Property name="jetty.webapps" default="." />/demo-jndi.war
<Set name="war"><Property name="jetty.webapps" default="." />/demo-ee10-jndi.war
</Set>
<Set name="extractWAR">true</Set>
<Set name="copyWebDir">false</Set>

View File

@ -9,8 +9,8 @@ demo
webapp
[depends]
jsp
jstl
ee10-jsp
ee10-jstl
ee10-deploy
[files]

View File

@ -13,5 +13,8 @@ demo
jdbc
ee10-annotations
[lib]
lib/demo-ee10-mock-resources-${jetty.version}.jar
[files]
maven://org.eclipse.jetty.ee10.demos/demo-ee10-mock-resources/${jetty.version}/jar|lib/ext/demo-ee10-mock-resources-${jetty.version}.jar
maven://org.eclipse.jetty.ee10.demos/demo-ee10-mock-resources/${jetty.version}/jar|lib/demo-ee10-mock-resources-${jetty.version}.jar

View File

@ -13,11 +13,11 @@ webapp
[depends]
deploy
jdbc
jsp
annotations
ee10-jsp
ee10-annotations
ext
demo-realm
demo-mock-resources
ee10-demo-realm
demo-ee10-mock-resources
[files]
basehome:modules/demo.d/demo-ee10-spec.xml|webapps-ee10/demo-ee10-spec.xml

View File

@ -3,7 +3,7 @@
<Configure id="wac" class="org.eclipse.jetty.ee10.webapp.WebAppContext">
<Set name="contextPath">/test-spec</Set>
<Set name="war"><Property name="jetty.webapps" />/demo-spec.war
<Set name="war"><Property name="jetty.webapps" />/demo-ee10-spec.war
</Set>
<Set name="configurationDiscovered">true</Set>

View File

@ -3,5 +3,8 @@
[description]
Enables the glassfish version of JSTL for all webapps.
[environment]
ee10
[lib]
lib/glassfish-jstl/*.jar
lib/ee10-glassfish-jstl/*.jar

View File

@ -3,14 +3,17 @@
[description]
Enables JAAS for deployed web applications.
[environment]
ee10
[depend]
server
[lib]
lib/jetty-jaas-${jetty.version}.jar
lib/jetty-ee10-jaas-${jetty.version}.jar
[xml]
etc/jetty-jaas.xml
etc/jetty-ee10-jaas.xml
[ini-template]
## The file location (relative to $jetty.base) for the

View File

@ -8,7 +8,7 @@
<!-- ===================================================================== -->
<Call class="jakarta.security.auth.message.config.AuthConfigFactory" name="setFactory">
<Arg>
<New id="jaspiAuthConfigFactory" class="org.eclipse.jetty.security.jaspi.DefaultAuthConfigFactory" />
<New id="jaspiAuthConfigFactory" class="org.eclipse.jetty.ee10.security.jaspi.DefaultAuthConfigFactory" />
</Arg>
</Call>
<Call name="addBean">

View File

@ -6,7 +6,7 @@
<Call name="registerConfigProvider">
<!-- The Jetty provided implementation of AuthConfigProvider which will wrap a ServerAuthModule. -->
<Arg type="String">org.eclipse.jetty.security.jaspi.provider.JaspiAuthConfigProvider</Arg>
<Arg type="String">org.eclipse.jetty.ee10.security.jaspi.provider.JaspiAuthConfigProvider</Arg>
<!-- A Map of initialization properties. -->
<Arg>
@ -14,11 +14,11 @@
<Entry>
<!-- Provide the fully qualified classname of the ServerAuthModule to be used. -->
<Item>ServerAuthModule</Item>
<Item>org.eclipse.jetty.security.jaspi.modules.BasicAuthenticationAuthModule</Item>
<Item>org.eclipse.jetty.ee10.security.jaspi.modules.BasicAuthenticationAuthModule</Item>
</Entry>
<Entry>
<!-- Realm as utilised by Jetty Security -->
<Item>org.eclipse.jetty.security.jaspi.modules.RealmName</Item>
<Item>org.eclipse.jetty.ee10.security.jaspi.modules.RealmName</Item>
<Item>Test Realm</Item>
</Entry>
</Map>
@ -45,4 +45,4 @@
<Arg type="String">A simple provider using HTTP BASIC authentication.</Arg>
</Call>
</Call>
</Configure>
</Configure>

View File

@ -3,14 +3,17 @@
[description]
Provides a DefaultAuthConfigFactory for jaspi
[environment]
ee10
[tags]
security
[depend]
security
ee10-security
[provide]
auth-config-factory
[xml]
etc/jaspi/jaspi-default.xml
etc/jaspi/jetty-ee10-jaspi-default.xml

View File

@ -3,6 +3,9 @@
[description]
Enables JASPI basic authentication the /test context path.
[environment]
ee10
[tags]
security
@ -10,7 +13,7 @@ security
jaspi
[xml]
etc/jaspi/jaspi-demo.xml
etc/jaspi/jetty-ee10-jaspi-demo.xml
[files]
basehome:etc/jaspi/jaspi-demo.xml|etc/jaspi/jaspi-demo.xml
basehome:etc/jaspi/jetty-ee10-jaspi-demo.xml|etc/jaspi/jetty-ee10-jaspi-demo.xml

View File

@ -0,0 +1,25 @@
# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
[description]
Enables JASPI authentication for deployed web applications.
[environment]
ee10
[tags]
security
[depend]
ee10-security
auth-config-factory
[lib]
lib/jetty-ee10-jaspi-${jetty.version}.jar
lib/ee10-jaspi/*.jar
[xml]
etc/jaspi/jetty-ee10-jaspi-authmoduleconfig.xml
[files]
basehome:etc/jaspi/jetty-ee10-jaspi-authmoduleconfig.xml|etc/jaspi/jetty-ee10-jaspi-authmoduleconfig.xml

View File

@ -1,22 +0,0 @@
# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
[description]
Enables JASPI authentication for deployed web applications.
[tags]
security
[depend]
security
auth-config-factory
[lib]
lib/jetty-jaspi-${jetty.version}.jar
lib/jaspi/*.jar
[xml]
etc/jaspi/jaspi-authmoduleconfig.xml
[files]
basehome:etc/jaspi/jaspi-authmoduleconfig.xml|etc/jaspi/jaspi-authmoduleconfig.xml

View File

@ -3,20 +3,23 @@
[description]
Adds OpenId Connect authentication to the server.
[environment]
ee10
[depend]
security
ee10-security
client
[lib]
lib/jetty-openid-${jetty.version}.jar
lib/jetty-util-ajax-${jetty.version}.jar
lib/jetty-ee10-openid-${jetty.version}.jar
lib/jetty-ee10-util-ajax-${jetty.version}.jar
[files]
basehome:modules/openid/openid-baseloginservice.xml|etc/openid-baseloginservice.xml
basehome:modules/openid/jetty-ee10-openid-baseloginservice.xml|etc/jetty-ee10-openid-baseloginservice.xml
[xml]
etc/openid-baseloginservice.xml
etc/jetty-openid.xml
etc/jetty-ee10-openid-baseloginservice.xml
etc/jetty-ee10-openid.xml
[ini-template]
## The OpenID Identity Provider's issuer ID (the entire URL *before* ".well-known/openid-configuration")

View File

@ -2,9 +2,9 @@
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd">
<Configure>
<!-- Optional code to configure the base LoginService used by the OpenIdLoginService
<New id="BaseLoginService" class="org.eclipse.jetty.security.HashLoginService">
<New id="BaseLoginService" class="org.eclipse.jetty.ee10.security.HashLoginService">
<Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>
<Set name="hotReload">true</Set>
</New>
-->
</Configure>
</Configure>

View File

@ -0,0 +1,15 @@
[description]
Enables Servlet 3.1 resource injection.
[environment]
ee10
[depend]
server
jndi
ee10-security
ee10-webapp
[lib]
lib/jetty-ee10-plus-${jetty.version}.jar
lib/jakarta.transaction-api-2.0.0.jar

View File

@ -1,12 +0,0 @@
[description]
Enables Servlet 3.1 resource injection.
[depend]
server
security
jndi
webapp
[lib]
lib/jetty-plus-${jetty.version}.jar
lib/jakarta.transaction-api-*.jar

View File

@ -4,19 +4,22 @@
Enables the Jetty Proxy service.
Allows the server to act as a non-transparent proxy for browsers.
[environment]
ee10
[depend]
servlet
ee10-servlet
client
[lib]
lib/jetty-proxy-${jetty.version}.jar
lib/jetty-ee10-proxy-${jetty.version}.jar
[xml]
etc/jetty-proxy.xml
etc/jetty-ee10-proxy.xml
[ini-template]
## Proxy Configuration
# jetty.proxy.servletClass=org.eclipse.jetty.proxy.ProxyServlet
# jetty.proxy.servletClass=org.eclipse.jetty.ee10.proxy.ProxyServlet
# jetty.proxy.servletMapping=/*
# jetty.proxy.maxThreads=128
# jetty.proxy.maxConnections=256

View File

@ -22,7 +22,7 @@
<Arg>
<New class="org.eclipse.jetty.deploy.bindings.GlobalWebappConfigBinding">
<Set name="jettyXml">
<Property name="jetty.base"/>/etc/quickstart-webapp.xml
<Property name="jetty.base"/>/etc/jetty-ee10-quickstart-webapp.xml
</Set>
</New>
</Arg>

View File

@ -3,18 +3,21 @@
[description]
Enables the Jetty Quickstart module for rapid deployment of preconfigured web applications.
[environment]
ee10
[depend]
server
deploy
[lib]
lib/jetty-quickstart-${jetty.version}.jar
lib/jetty-ee10-quickstart-${jetty.version}.jar
[xml]
etc/jetty-quickstart.xml
etc/jetty-ee10-quickstart.xml
[files]
basehome:modules/jetty-quickstart.d/quickstart-webapp.xml|etc/quickstart-webapp.xml
basehome:modules/jetty-quickstart.d/jetty-ee10-quickstart-webapp.xml|etc/jetty-ee10-quickstart-webapp.xml
[ini-template]

View File

@ -90,6 +90,7 @@ import org.eclipse.jetty.util.annotation.ManagedAttribute;
import org.eclipse.jetty.util.annotation.ManagedObject;
import org.eclipse.jetty.util.component.ContainerLifeCycle;
import org.eclipse.jetty.util.component.DumpableCollection;
import org.eclipse.jetty.util.component.Environment;
import org.eclipse.jetty.util.component.Graceful;
import org.eclipse.jetty.util.component.LifeCycle;
import org.eclipse.jetty.util.resource.Resource;
@ -113,7 +114,7 @@ import org.slf4j.LoggerFactory;
public class ServletContextHandler extends ContextHandler implements Graceful
{
private static final Logger LOG = LoggerFactory.getLogger(ServletContextHandler.class);
protected static final Environment __environment = Environment.ensure("ee10");
public static final Class<?>[] SERVLET_LISTENER_TYPES =
{
ServletContextListener.class,

View File

@ -5,9 +5,12 @@ Adds Jetty utility servlets and filters available to a webapp.
Puts org.eclipse.jetty.servlets on the server classpath (CGI, CrossOriginFilter, DosFilter,
MultiPartFilter, PushCacheFilter, QoSFilter, etc.) for use by all webapplications.
[environment]
ee10
[depend]
servlet
ee10-servlet
[lib]
lib/jetty-servlets-${jetty.version}.jar
lib/jetty-ee10-servlets-${jetty.version}.jar

View File

@ -41,7 +41,7 @@ public class JaasConfiguration extends AbstractConfiguration
{
try
{
return Loader.loadClass("org.eclipse.jetty.jaas.JAASLoginService") != null;
return Loader.loadClass("org.eclipse.jetty.ee10.jaas.JAASLoginService") != null;
}
catch (Throwable e)
{

View File

@ -39,7 +39,7 @@ public class JaspiConfiguration extends AbstractConfiguration
{
try
{
return Loader.loadClass("org.eclipse.jetty.security.jaspi.JaspiAuthenticator") != null;
return Loader.loadClass("org.eclipse.jetty.ee10.security.jaspi.JaspiAuthenticator") != null;
}
catch (Throwable e)
{

View File

@ -43,7 +43,7 @@ public class JspConfiguration extends AbstractConfiguration
{
try
{
return Loader.loadClass("org.eclipse.jetty.jsp.JettyJspServlet") != null;
return Loader.loadClass("org.eclipse.jetty.ee10.jsp.JettyJspServlet") != null;
}
catch (Throwable e)
{

View File

@ -445,6 +445,8 @@ public class WebAppContext extends ServletContextHandler implements WebAppClassL
@Override
protected void doStart() throws Exception
{
ClassLoader old = Thread.currentThread().getContextClassLoader();
Thread.currentThread().setContextClassLoader(__environment.getClassLoader());
try
{
_metadata.setAllowDuplicateFragmentNames(isAllowDuplicateFragmentNames());
@ -467,6 +469,10 @@ public class WebAppContext extends ServletContextHandler implements WebAppClassL
if (isThrowUnavailableOnStartupException())
throw t;
}
finally
{
Thread.currentThread().setContextClassLoader(old);
}
}
private void wrapConfigurations()

View File

@ -0,0 +1,27 @@
[description]
Enable jakarta.websocket APIs for deployed web applications.
[environment]
ee10
[tags]
websocket
[depend]
client
ee10-annotations
[lib]
lib/websocket/jetty-ee10-websocket-core-common-${jetty.version}.jar
lib/websocket/jetty-ee10-websocket-core-client-${jetty.version}.jar
lib/websocket/jetty-ee10-websocket-core-server-${jetty.version}.jar
lib/websocket/jetty-ee10-websocket-servlet-${jetty.version}.jar
lib/websocket/jetty-jakarta-websocket-api-2.0.0.jar
lib/websocket/jetty-ee10-websocket-jakarta-client-${jetty.version}.jar
lib/websocket/jetty-ee10-websocket-jakarta-common-${jetty.version}.jar
lib/websocket/jetty-ee10-websocket-jakarta-server-${jetty.version}.jar
[jpms]
# The implementation needs to access method handles in
# classes that are in the web application classloader.
add-reads: org.eclipse.jetty.ee10.websocket.jakarta.common=ALL-UNNAMED

View File

@ -1,24 +0,0 @@
[description]
Enable jakarta.websocket APIs for deployed web applications.
[tags]
websocket
[depend]
client
annotations
[lib]
lib/websocket/websocket-core-common-${jetty.version}.jar
lib/websocket/websocket-core-client-${jetty.version}.jar
lib/websocket/websocket-core-server-${jetty.version}.jar
lib/websocket/websocket-servlet-${jetty.version}.jar
lib/websocket/jetty-jakarta-websocket-api-2.0.0.jar
lib/websocket/websocket-jakarta-client-${jetty.version}.jar
lib/websocket/websocket-jakarta-common-${jetty.version}.jar
lib/websocket/websocket-jakarta-server-${jetty.version}.jar
[jpms]
# The implementation needs to access method handles in
# classes that are in the web application classloader.
add-reads: org.eclipse.jetty.websocket.jakarta.common=ALL-UNNAMED

View File

@ -32,9 +32,9 @@ public class JakartaWebSocketConfiguration extends AbstractConfiguration
addDependencies(WebXmlConfiguration.class, MetaInfConfiguration.class, WebInfConfiguration.class, FragmentConfiguration.class);
addDependents("org.eclipse.jetty.ee10.annotations.AnnotationConfiguration", WebAppConfiguration.class.getName());
protectAndExpose("org.eclipse.jetty.websocket.servlet."); // For WebSocketUpgradeFilter
protectAndExpose("org.eclipse.jetty.websocket.jakarta.server.config.");
protectAndExpose("org.eclipse.jetty.websocket.jakarta.client.JakartaWebSocketClientContainerProvider");
protectAndExpose("org.eclipse.jetty.websocket.jakarta.client.JakartaWebSocketShutdownContainer");
protectAndExpose("org.eclipse.jetty.ee10.websocket.servlet."); // For WebSocketUpgradeFilter
protectAndExpose("org.eclipse.jetty.ee10.websocket.jakarta.server.config.");
protectAndExpose("org.eclipse.jetty.ee10.websocket.jakarta.client.JakartaWebSocketClientContainerProvider");
protectAndExpose("org.eclipse.jetty.ee10.websocket.jakarta.client.JakartaWebSocketShutdownContainer");
}
}

View File

@ -0,0 +1,26 @@
# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
[description]
Expose the Jetty WebSocket Client classes to deployed web applications.
[environment]
ee10
[tags]
websocket
[depend]
client
ee10-annotations
[lib]
lib/websocket/jetty-ee10-websocket-core-common-${jetty.version}.jar
lib/websocket/jetty-ee10-websocket-core-client-${jetty.version}.jar
lib/websocket/jetty-ee10-websocket-jetty-api-${jetty.version}.jar
lib/websocket/jetty-ee10-websocket-jetty-common-${jetty.version}.jar
lib/websocket/jetty-ee10-websocket-jetty-client-${jetty.version}.jar
[jpms]
# The implementation needs to access method handles in
# classes that are in the web application classloader.
add-reads: org.eclipse.jetty.ee10.websocket.jetty.common=ALL-UNNAMED

View File

@ -1,23 +0,0 @@
# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
[description]
Expose the Jetty WebSocket Client classes to deployed web applications.
[tags]
websocket
[depend]
client
annotations
[lib]
lib/websocket/websocket-core-common-${jetty.version}.jar
lib/websocket/websocket-core-client-${jetty.version}.jar
lib/websocket/websocket-jetty-api-${jetty.version}.jar
lib/websocket/websocket-jetty-common-${jetty.version}.jar
lib/websocket/websocket-jetty-client-${jetty.version}.jar
[jpms]
# The implementation needs to access method handles in
# classes that are in the web application classloader.
add-reads: org.eclipse.jetty.websocket.jetty.common=ALL-UNNAMED

View File

@ -0,0 +1,24 @@
[description]
Enable the Jetty WebSocket API support for deployed web applications.
[tags]
websocket
[environment]
ee10
[depend]
ee10-annotations
[lib]
lib/websocket/jetty-ee10-websocket-core-common-${jetty.version}.jar
lib/websocket/jetty-ee10-websocket-core-server-${jetty.version}.jar
lib/websocket/jetty-ee10-websocket-servlet-${jetty.version}.jar
lib/websocket/jetty-ee10-websocket-jetty-api-${jetty.version}.jar
lib/websocket/jetty-ee10-websocket-jetty-common-${jetty.version}.jar
lib/websocket/jetty-ee10-websocket-jetty-server-${jetty.version}.jar
[jpms]
# The implementation needs to access method handles in
# classes that are in the web application classloader.
add-reads: org.eclipse.jetty.ee10.websocket.jetty.common=ALL-UNNAMED

View File

@ -1,21 +0,0 @@
[description]
Enable the Jetty WebSocket API support for deployed web applications.
[tags]
websocket
[depend]
annotations
[lib]
lib/websocket/websocket-core-common-${jetty.version}.jar
lib/websocket/websocket-core-server-${jetty.version}.jar
lib/websocket/websocket-servlet-${jetty.version}.jar
lib/websocket/websocket-jetty-api-${jetty.version}.jar
lib/websocket/websocket-jetty-common-${jetty.version}.jar
lib/websocket/websocket-jetty-server-${jetty.version}.jar
[jpms]
# The implementation needs to access method handles in
# classes that are in the web application classloader.
add-reads: org.eclipse.jetty.websocket.jetty.common=ALL-UNNAMED

View File

@ -367,7 +367,7 @@
</configuration>
</execution>
<execution>
<id>copy-annotations-deps</id>
<id>copy-ee10-annotations-deps</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-dependencies</goal>
@ -376,11 +376,11 @@
<includeGroupIds>jakarta.annotation,org.eclipse.jetty.orbit,org.ow2.asm</includeGroupIds>
<includeArtifactIds>jakarta.annotation-api,asm,asm-commons,asm-tree,asm-analysis</includeArtifactIds>
<includeTypes>jar</includeTypes>
<outputDirectory>${assembly-directory}/lib/annotations</outputDirectory>
<outputDirectory>${assembly-directory}/lib/ee10-annotations</outputDirectory>
</configuration>
</execution>
<execution>
<id>copy-annotations-src-deps</id>
<id>copy-ee10-annotations-src-deps</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-dependencies</goal>
@ -390,44 +390,45 @@
<includeArtifactIds>jakarta.annotation-api,asm,asm-commons,asm-tree,asm-analysis</includeArtifactIds>
<includeTypes>jar</includeTypes>
<classifier>sources</classifier>
<outputDirectory>${source-assembly-directory}/lib/annotations</outputDirectory>
<outputDirectory>${source-assembly-directory}/lib/ee10-annotations</outputDirectory>
</configuration>
</execution>
<!-- TODO: ee9 annotations -->
<execution>
<id>copy-apache-jsp-deps</id>
<id>copy-ee10-apache-jsp-deps</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<includeGroupIds>
org.eclipse.jetty,org.eclipse.jetty.toolchain,org.mortbay.jasper,org.eclipse.jdt
org.eclipse.jetty.toolchain,org.mortbay.jasper,org.eclipse.jdt
</includeGroupIds>
<includeArtifactIds>apache-jsp,apache-el,ecj</includeArtifactIds>
<includeTypes>jar</includeTypes>
<prependGroupId>true</prependGroupId>
<outputDirectory>${assembly-directory}/lib/apache-jsp</outputDirectory>
<outputDirectory>${assembly-directory}/lib/ee10-apache-jsp</outputDirectory>
</configuration>
</execution>
<execution>
<id>copy-apache-jsp-src-deps</id>
<id>copy-ee10-apache-jsp-src-deps</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<includeGroupIds>
org.eclipse.jetty,org.eclipse.jetty.toolchain,org.mortbay.jasper,org.eclipse.jdt
org.eclipse.jetty.toolchain,org.mortbay.jasper,org.eclipse.jdt
</includeGroupIds>
<includeArtifactIds>apache-jsp,apache-el,ecj</includeArtifactIds>
<includeTypes>jar</includeTypes>
<classifier>sources</classifier>
<prependGroupId>true</prependGroupId>
<outputDirectory>${source-assembly-directory}/lib/apache-jsp</outputDirectory>
<outputDirectory>${source-assembly-directory}/lib/ee10-apache-jsp</outputDirectory>
</configuration>
</execution>
<execution>
<id>copy-glassfish-jstl-deps</id>
<id>copy-ee10-glassfish-jstl-deps</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-dependencies</goal>
@ -436,11 +437,11 @@
<includeArtifactIds>jakarta.servlet.jsp.jstl-api,jakarta.servlet.jsp.jstl</includeArtifactIds>
<prependGroupId>true</prependGroupId>
<includeTypes>jar</includeTypes>
<outputDirectory>${assembly-directory}/lib/glassfish-jstl</outputDirectory>
<outputDirectory>${assembly-directory}/lib/ee10-glassfish-jstl</outputDirectory>
</configuration>
</execution>
<execution>
<id>copy-glassfish-jstl-src-deps</id>
<id>copy-ee10-glassfish-jstl-src-deps</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-dependencies</goal>
@ -450,11 +451,12 @@
<prependGroupId>true</prependGroupId>
<includeTypes>jar</includeTypes>
<classifier>sources</classifier>
<outputDirectory>${source-assembly-directory}/lib/glassfish-jstl</outputDirectory>
<outputDirectory>${source-assembly-directory}/lib/ee10-glassfish-jstl</outputDirectory>
</configuration>
</execution>
<!-- TODO: add copy deps for ee9 apache-jsp and jstl -->
<execution>
<id>copy-jaspi-deps</id>
<id>copy-ee10-jaspi-deps</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-dependencies</goal>
@ -463,11 +465,11 @@
<includeGroupIds>jakarta.authentication</includeGroupIds>
<includeArtifactIds>jakarta.authentication-api</includeArtifactIds>
<includeTypes>jar</includeTypes>
<outputDirectory>${assembly-directory}/lib/jaspi</outputDirectory>
<outputDirectory>${assembly-directory}/lib/ee10-jaspi</outputDirectory>
</configuration>
</execution>
<execution>
<id>copy-jaspi-src-deps</id>
<id>copy-ee10-jaspi-src-deps</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-dependencies</goal>
@ -477,9 +479,10 @@
<includeArtifactIds>jakarta.authentication-api</includeArtifactIds>
<includeTypes>jar</includeTypes>
<classifier>sources</classifier>
<outputDirectory>${source-assembly-directory}/lib/jaspi</outputDirectory>
<outputDirectory>${source-assembly-directory}/lib/ee10-jaspi</outputDirectory>
</configuration>
</execution>
<!-- TODO: ee9 jaspi -->
<execution>
<id>copy-ee9-deps</id>
@ -489,6 +492,7 @@
</goals>
<configuration>
<includeGroupIds>org.eclipse.jetty.ee9</includeGroupIds>
<excludeGroupIds>org.eclipse.jetty.ee9.demos</excludeGroupIds>
<!-- <includeArtifactIds></includeArtifactIds>-->
<includeTypes>jar</includeTypes>
<outputDirectory>${assembly-directory}/lib</outputDirectory>
@ -503,6 +507,7 @@
<configuration>
<includeGroupIds>org.eclipse.jetty.ee9</includeGroupIds>
<!-- <includeArtifactIds></includeArtifactIds>-->
<excludeGroupIds>org.eclipse.jetty.ee9.demos</excludeGroupIds>
<includeTypes>jar</includeTypes>
<classifier>sources</classifier>
<outputDirectory>${source-assembly-directory}/lib</outputDirectory>
@ -518,6 +523,7 @@
<configuration>
<includeGroupIds>org.eclipse.jetty.ee10</includeGroupIds>
<!-- <includeArtifactIds></includeArtifactIds>-->
<excludeGroupIds>org.eclipse.jetty.ee10.demos</excludeGroupIds>
<includeTypes>jar</includeTypes>
<outputDirectory>${assembly-directory}/lib</outputDirectory>
</configuration>
@ -532,6 +538,7 @@
<includeGroupIds>org.eclipse.jetty.ee10</includeGroupIds>
<!-- <includeArtifactIds></includeArtifactIds>-->
<includeTypes>jar</includeTypes>
<excludeGroupIds>org.eclipse.jetty.ee10.demos</excludeGroupIds>
<classifier>sources</classifier>
<outputDirectory>${source-assembly-directory}/lib</outputDirectory>
</configuration>
@ -824,6 +831,10 @@
<groupId>org.eclipse.jetty.ee10</groupId>
<artifactId>jetty-ee10-servlet</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee10</groupId>
<artifactId>jetty-ee10-servlets</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee10.websocket</groupId>
<artifactId>jetty-ee10-websocket-servlet</artifactId>

View File

@ -1,21 +0,0 @@
# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
[description]
Configure a demo authentication realm.
[tags]
demo
[depends]
security
[xml]
etc/demo-realm.xml
[files]
basehome:modules/demo.d/demo-realm.xml|etc/demo-realm.xml
basehome:modules/demo.d/demo-realm.properties|etc/demo-realm.properties
[ini-template]
# Create and configure the test realm
jetty.demo.realm=etc/realm.properties

View File

@ -1,19 +0,0 @@
# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
[description]
Demo root webapp.
[tags]
demo
webapp
[depends]
deploy
[files]
webapps/root/
webapps/root/images/
basehome:modules/demo.d/root/index.html|webapps/root/index.html
basehome:modules/demo.d/root/jetty.css|webapps/root/jetty.css
basehome:modules/demo.d/root/images/jetty-pic.png|webapps/root/images/jetty-pic.png
basehome:modules/demo.d/root/images/webtide_logo.jpg|webapps/root/images/webtide_logo.jpg

View File

@ -10,9 +10,9 @@
<!-- =========================================================== -->
<Call name="addBean">
<Arg>
<New class="org.eclipse.jetty.security.HashLoginService">
<New class="org.eclipse.jetty.ee10.servlet.security.HashLoginService">
<Set name="name">Test Realm</Set>
<Set name="config">etc/demo-realm.properties</Set>
<Set name="config">etc/jetty-ee10-demo-realm.properties</Set>
<Set name="hotReload">false</Set>
</New>
</Arg>

View File

@ -0,0 +1,24 @@
# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
[description]
Configure a demo authentication realm.
[environment]
ee10
[tags]
demo
[depends]
ee10-security
[xml]
etc/jetty-ee10-demo-realm.xml
[files]
basehome:modules/demo.d/jetty-ee10-demo-realm.xml|etc/jetty-ee10-demo-realm.xml
basehome:modules/demo.d/jetty-ee10-demo-realm.properties|etc/jetty-ee10-demo-realm.properties
[ini-template]
# Create and configure the test realm
jetty.demo.realm=etc/jetty-ee10-realm.properties

View File

@ -0,0 +1,22 @@
# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
[description]
Demo root webapp.
[environment]
ee10
[tags]
demo
webapp
[depends]
deploy
[files]
webapps-ee10/root-ee10/
webapps-ee10/root-ee10/images/
basehome:modules/demo.d/root-ee10/index.html|webapps-ee10/root-ee10/index.html
basehome:modules/demo.d/root-ee10/jetty.css|webapps-ee10/root-ee10/jetty.css
basehome:modules/demo.d/root-ee10/images/jetty-pic.png|webapps-ee10/root-ee10/images/jetty-pic.png
basehome:modules/demo.d/root-ee10/images/webtide_logo.jpg|webapps-ee10/root-ee10/images/webtide_logo.jpg

View File

@ -3,6 +3,9 @@
[description]
A meta module to enable all demo modules.
[environment]
ee10
[tags]
demo
@ -12,16 +15,16 @@ https
http2
test-keystore
work
demo-async-rest
demo-jaas
demo-jetty
demo-moved-context
demo-proxy
demo-rewrite
demo-root
demo-jndi
demo-spec
demo-jsp
demo-ee10-async-rest
demo-ee10-jaas
demo-ee10-jetty
demo-ee10-moved-context
demo-ee10-proxy
demo-ee10-rewrite
demo-ee10-jndi
demo-ee10-spec
demo-ee10-jsp
ee10-demo-root
[ini-template]
# Websocket chat examples needs websocket enabled

View File

@ -3,8 +3,10 @@
[description]
Enables JSP for all web applications deployed on the server.
[depend]
servlet
annotations
apache-jsp
[environment]
ee10
[depend]
ee10-servlet
ee10-annotations
ee10-apache-jsp

View File

@ -3,7 +3,9 @@
[description]
Enables JSTL for all web applications deployed on the server.
[depend]
jsp
glassfish-jstl
[environment]
ee10
[depend]
ee10-jsp
ee10-glassfish-jstl