diff --git a/example-jetty-embedded/src/test/java/org/eclipse/jetty/embedded/GzipHandlerTest.java b/example-jetty-embedded/src/test/java/org/eclipse/jetty/embedded/GzipHandlerTest.java index 45c474dfa0d..fdcea86c59c 100644 --- a/example-jetty-embedded/src/test/java/org/eclipse/jetty/embedded/GzipHandlerTest.java +++ b/example-jetty-embedded/src/test/java/org/eclipse/jetty/embedded/GzipHandlerTest.java @@ -34,7 +34,7 @@ import org.eclipse.jetty.server.LocalConnector; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.AbstractHandler; -import org.eclipse.jetty.server.handler.GzipHandler; +import org.eclipse.jetty.servlets.gzip.GzipHandler; import org.eclipse.jetty.util.IO; import org.junit.After; import org.junit.Before; diff --git a/jetty-annotations/src/main/config/start.d/100-jetty-annotations.ini b/jetty-annotations/src/main/config/start.d/100-jetty-annotations.ini new file mode 100644 index 00000000000..d950b9efdf4 --- /dev/null +++ b/jetty-annotations/src/main/config/start.d/100-jetty-annotations.ini @@ -0,0 +1,3 @@ +OPTIONS=annotations +etc/jetty-annotations.xml + diff --git a/jetty-deploy/src/test/resources/jetty.xml b/jetty-deploy/src/test/resources/jetty.xml index 785ca813206..3f343ececcf 100644 --- a/jetty-deploy/src/test/resources/jetty.xml +++ b/jetty-deploy/src/test/resources/jetty.xml @@ -15,18 +15,10 @@ - 200 10 - - diff --git a/jetty-distribution/pom.xml b/jetty-distribution/pom.xml index 5e55683ef7e..b77c9dd653d 100644 --- a/jetty-distribution/pom.xml +++ b/jetty-distribution/pom.xml @@ -343,22 +343,24 @@ ${project.version} - - Configure javadoc.xml /resources /resources/ diff --git a/jetty-distribution/src/main/resources/contexts/javadoc.xml b/jetty-distribution/src/main/resources/contexts/javadoc.xml index d2a1509300b..3fec5c07feb 100644 --- a/jetty-distribution/src/main/resources/contexts/javadoc.xml +++ b/jetty-distribution/src/main/resources/contexts/javadoc.xml @@ -9,7 +9,6 @@ to serve static html files and images. --> - Configure javadoc.xml /javadoc /javadoc/ diff --git a/jetty-distribution/src/main/resources/start.ini b/jetty-distribution/src/main/resources/start.ini index dfc2783db50..b86d24d2c77 100644 --- a/jetty-distribution/src/main/resources/start.ini +++ b/jetty-distribution/src/main/resources/start.ini @@ -1,8 +1,13 @@ #=========================================================== # Jetty start.jar arguments -# Each line of this file is prepended to the command line -# arguments # of a call to: +# The contents of this file, together with the start.ini +# fragments found in start.d directory are used to build +# the classpath and command line on a call to # java -jar start.jar [arg...] +# +# Use the following command to see more options +# java -jar start.jar --help +# #=========================================================== @@ -46,7 +51,7 @@ # for a full listing do # java -jar start.jar --list-options #----------------------------------------------------------- -OPTIONS=Server,jsp,jmx,resources,websocket,ext,plus,annotations +OPTIONS=Server,jsp,resources,websocket,ext,plus #----------------------------------------------------------- @@ -55,9 +60,7 @@ OPTIONS=Server,jsp,jmx,resources,websocket,ext,plus,annotations # For a full list of available configuration files do # java -jar start.jar --help #----------------------------------------------------------- -#etc/jetty-jmx.xml etc/jetty.xml -etc/jetty-annotations.xml # etc/jetty-ssl.xml # etc/jetty-requestlog.xml etc/jetty-deploy.xml diff --git a/jetty-jmx/src/main/config/etc/jetty-jmx.xml b/jetty-jmx/src/main/config/etc/jetty-jmx.xml index 4db0dbb473a..3b3e75bb99b 100644 --- a/jetty-jmx/src/main/config/etc/jetty-jmx.xml +++ b/jetty-jmx/src/main/config/etc/jetty-jmx.xml @@ -7,7 +7,7 @@ - + @@ -21,7 +21,7 @@ --> - + @@ -35,16 +35,8 @@ - - - - - - - - - - true + + diff --git a/jetty-jmx/src/main/config/start.d/000-jetty-jmx.ini b/jetty-jmx/src/main/config/start.d/000-jetty-jmx.ini new file mode 100644 index 00000000000..d13fecfff23 --- /dev/null +++ b/jetty-jmx/src/main/config/start.d/000-jetty-jmx.ini @@ -0,0 +1,2 @@ +OPTIONS=jmx +etc/jetty-jmx.xml diff --git a/jetty-overlay-deployer/src/test/resources/home/overlays/templates/myfoo=foo/WEB-INF/jetty-web.xml b/jetty-overlay-deployer/src/test/resources/home/overlays/templates/myfoo=foo/WEB-INF/jetty-web.xml index 33526645e3c..26eee4b4bff 100644 --- a/jetty-overlay-deployer/src/test/resources/home/overlays/templates/myfoo=foo/WEB-INF/jetty-web.xml +++ b/jetty-overlay-deployer/src/test/resources/home/overlays/templates/myfoo=foo/WEB-INF/jetty-web.xml @@ -2,5 +2,7 @@ - Executing jetty-web.xml for - \ No newline at end of file + + Executing jetty-web.xml for + + diff --git a/jetty-server/src/main/config/etc/jetty-proxy.xml b/jetty-proxy/src/main/config/etc/jetty-proxy.xml similarity index 100% rename from jetty-server/src/main/config/etc/jetty-proxy.xml rename to jetty-proxy/src/main/config/etc/jetty-proxy.xml diff --git a/jetty-server/src/main/config/etc/jetty.xml b/jetty-server/src/main/config/etc/jetty.xml index afaaa184a07..6d5a7e79409 100644 --- a/jetty-server/src/main/config/etc/jetty.xml +++ b/jetty-server/src/main/config/etc/jetty.xml @@ -1,5 +1,6 @@ - + + @@ -16,32 +17,28 @@ - - - - + + 10 200 false - + + - + 300000 - 2 - false - 8443 diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/SelectChannelConnector.java b/jetty-server/src/main/java/org/eclipse/jetty/server/SelectChannelConnector.java index 9d2fb53001c..d02ac4950e6 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/SelectChannelConnector.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/SelectChannelConnector.java @@ -58,12 +58,12 @@ public class SelectChannelConnector extends AbstractNetworkConnector private volatile boolean _reuseAddress = true; private volatile int _lingerTime = -1; - public SelectChannelConnector(Server server) + public SelectChannelConnector(@Name("server") Server server) { this(server, null); } - public SelectChannelConnector(Server server, SslContextFactory sslContextFactory) + public SelectChannelConnector(@Name("server")Server server, @Name("sslContextFactory") SslContextFactory sslContextFactory) { this(server, null, null, null, sslContextFactory, 0, 0); } diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/Server.java b/jetty-server/src/main/java/org/eclipse/jetty/server/Server.java index 5084ff72035..95e9f451d98 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/Server.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/Server.java @@ -47,6 +47,7 @@ import org.eclipse.jetty.util.TypeUtil; import org.eclipse.jetty.util.URIUtil; import org.eclipse.jetty.util.annotation.ManagedAttribute; import org.eclipse.jetty.util.annotation.ManagedObject; +import org.eclipse.jetty.util.annotation.Name; import org.eclipse.jetty.util.component.Container; import org.eclipse.jetty.util.component.Destroyable; import org.eclipse.jetty.util.component.Graceful; @@ -80,7 +81,7 @@ public class Server extends HandlerWrapper implements Attributes __version=System.getProperty("jetty.version","9.x.y.z-SNAPSHOT"); } - private final Container _container=new Container(); + private final Container _container; private final AttributesMap _attributes = new AttributesMap(); private final ThreadPool _threadPool; private final List _connectors = new CopyOnWriteArrayList<>(); @@ -102,7 +103,7 @@ public class Server extends HandlerWrapper implements Attributes /** Convenience constructor * Creates server and a {@link SelectChannelConnector} at the passed port. */ - public Server(int port) + public Server(@Name("port")int port) { this((ThreadPool)null); SelectChannelConnector connector=new SelectChannelConnector(this); @@ -114,7 +115,7 @@ public class Server extends HandlerWrapper implements Attributes /** Convenience constructor * Creates server and a {@link SelectChannelConnector} at the passed address. */ - public Server(InetSocketAddress addr) + public Server(@Name("address")InetSocketAddress addr) { this((ThreadPool)null); SelectChannelConnector connector=new SelectChannelConnector(this); @@ -125,9 +126,16 @@ public class Server extends HandlerWrapper implements Attributes /* ------------------------------------------------------------ */ - public Server(ThreadPool pool) + public Server(@Name("threadpool") ThreadPool pool) + { + this(pool,null); + } + + /* ------------------------------------------------------------ */ + public Server(@Name("threadpool") ThreadPool pool,@Name("container") Container container) { _threadPool=pool!=null?pool:new QueuedThreadPool(); + _container=container!=null?container:new Container(); addBean(_threadPool); setServer(this); } diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java index d6346dcfde4..1e2a6be5df7 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java @@ -167,7 +167,7 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu private Map _managedAttributes; private String[] _protectedTargets; - public enum Availability { AVAILABLE,SHUTDOWN,UNAVAILABLE}; + public enum Availability { UNAVAILABLE,STARTING,AVAILABLE,SHUTDOWN,}; private volatile Availability _availability; /* ------------------------------------------------------------ */ @@ -666,7 +666,7 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu @Override protected void doStart() throws Exception { - _availability = Availability.UNAVAILABLE; + _availability = Availability.STARTING; if (_contextPath == null) throw new IllegalStateException("Null contextPath"); @@ -696,6 +696,7 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu startContext(); _availability = Availability.AVAILABLE; + LOG.info("started {}",this); } finally { @@ -756,7 +757,6 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu public void callContextInitialized (ServletContextListener l, ServletContextEvent e) { l.contextInitialized(e); - LOG.info("started {}",this); } /* ------------------------------------------------------------ */ diff --git a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/GzipFilter.java b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/GzipFilter.java index d0978692cff..da85e5dee6a 100644 --- a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/GzipFilter.java +++ b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/GzipFilter.java @@ -38,8 +38,8 @@ import org.eclipse.jetty.continuation.Continuation; import org.eclipse.jetty.continuation.ContinuationListener; import org.eclipse.jetty.continuation.ContinuationSupport; import org.eclipse.jetty.http.HttpMethod; -import org.eclipse.jetty.server.gzip.AbstractCompressedStream; -import org.eclipse.jetty.server.gzip.CompressedResponseWrapper; +import org.eclipse.jetty.servlets.gzip.AbstractCompressedStream; +import org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; diff --git a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/IncludableGzipFilter.java b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/IncludableGzipFilter.java index 2ff4d363e57..37d830e0b3a 100644 --- a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/IncludableGzipFilter.java +++ b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/IncludableGzipFilter.java @@ -32,8 +32,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.eclipse.jetty.io.UncheckedPrintWriter; -import org.eclipse.jetty.server.gzip.AbstractCompressedStream; -import org.eclipse.jetty.server.gzip.CompressedResponseWrapper; +import org.eclipse.jetty.servlets.gzip.AbstractCompressedStream; +import org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper; /* ------------------------------------------------------------ */ /** Includable GZip Filter. diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/gzip/AbstractCompressedStream.java b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/gzip/AbstractCompressedStream.java similarity index 99% rename from jetty-server/src/main/java/org/eclipse/jetty/server/gzip/AbstractCompressedStream.java rename to jetty-servlets/src/main/java/org/eclipse/jetty/servlets/gzip/AbstractCompressedStream.java index 5045415e144..524cf6022df 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/gzip/AbstractCompressedStream.java +++ b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/gzip/AbstractCompressedStream.java @@ -16,7 +16,7 @@ // ======================================================================== // -package org.eclipse.jetty.server.gzip; +package org.eclipse.jetty.servlets.gzip; import java.io.IOException; import java.io.OutputStream; diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/gzip/CompressedResponseWrapper.java b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/gzip/CompressedResponseWrapper.java similarity index 85% rename from jetty-server/src/main/java/org/eclipse/jetty/server/gzip/CompressedResponseWrapper.java rename to jetty-servlets/src/main/java/org/eclipse/jetty/servlets/gzip/CompressedResponseWrapper.java index 22bd1007612..2bf9e280e17 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/gzip/CompressedResponseWrapper.java +++ b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/gzip/CompressedResponseWrapper.java @@ -16,7 +16,7 @@ // ======================================================================== // -package org.eclipse.jetty.server.gzip; +package org.eclipse.jetty.servlets.gzip; import java.io.IOException; import java.io.OutputStream; @@ -58,7 +58,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#setMimeTypes(java.util.Set) + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#setMimeTypes(java.util.Set) */ public void setMimeTypes(Set mimeTypes) { @@ -67,7 +67,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#setBufferSize(int) + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#setBufferSize(int) */ @Override public void setBufferSize(int bufferSize) @@ -77,7 +77,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#setMinCompressSize(int) + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#setMinCompressSize(int) */ public void setMinCompressSize(int minCompressSize) { @@ -86,7 +86,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#setContentType(java.lang.String) + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#setContentType(java.lang.String) */ @Override public void setContentType(String ct) @@ -110,7 +110,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#setStatus(int, java.lang.String) + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#setStatus(int, java.lang.String) */ @Override public void setStatus(int sc, String sm) @@ -122,7 +122,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#setStatus(int) + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#setStatus(int) */ @Override public void setStatus(int sc) @@ -134,7 +134,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#setContentLength(int) + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#setContentLength(int) */ @Override public void setContentLength(int length) @@ -164,7 +164,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#addHeader(java.lang.String, java.lang.String) + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#addHeader(java.lang.String, java.lang.String) */ @Override public void addHeader(String name, String value) @@ -193,7 +193,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#flushBuffer() + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#flushBuffer() */ @Override public void flushBuffer() throws IOException @@ -208,7 +208,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#reset() + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#reset() */ @Override public void reset() @@ -224,7 +224,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#resetBuffer() + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#resetBuffer() */ @Override public void resetBuffer() @@ -238,7 +238,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#sendError(int, java.lang.String) + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#sendError(int, java.lang.String) */ @Override public void sendError(int sc, String msg) throws IOException @@ -249,7 +249,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#sendError(int) + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#sendError(int) */ @Override public void sendError(int sc) throws IOException @@ -260,7 +260,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#sendRedirect(java.lang.String) + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#sendRedirect(java.lang.String) */ @Override public void sendRedirect(String location) throws IOException @@ -271,7 +271,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#noCompression() + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#noCompression() */ public void noCompression() { @@ -291,7 +291,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#finish() + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#finish() */ public void finish() throws IOException { @@ -303,7 +303,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#setHeader(java.lang.String, java.lang.String) + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#setHeader(java.lang.String, java.lang.String) */ @Override public void setHeader(String name, String value) @@ -330,7 +330,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#getOutputStream() + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#getOutputStream() */ @Override public ServletOutputStream getOutputStream() throws IOException @@ -353,7 +353,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#getWriter() + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#getWriter() */ @Override public PrintWriter getWriter() throws IOException @@ -377,7 +377,7 @@ public abstract class CompressedResponseWrapper extends HttpServletResponseWrapp /* ------------------------------------------------------------ */ /** - * @see org.eclipse.jetty.server.gzip.CompressedResponseWrapper#setIntHeader(java.lang.String, int) + * @see org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper#setIntHeader(java.lang.String, int) */ @Override public void setIntHeader(String name, int value) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/GzipHandler.java b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/gzip/GzipHandler.java similarity index 97% rename from jetty-server/src/main/java/org/eclipse/jetty/server/handler/GzipHandler.java rename to jetty-servlets/src/main/java/org/eclipse/jetty/servlets/gzip/GzipHandler.java index 77b63474ee0..3bbf83bcdbe 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/GzipHandler.java +++ b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/gzip/GzipHandler.java @@ -16,7 +16,7 @@ // ======================================================================== // -package org.eclipse.jetty.server.handler; +package org.eclipse.jetty.servlets.gzip; import java.io.IOException; import java.io.OutputStream; @@ -38,8 +38,9 @@ import org.eclipse.jetty.continuation.ContinuationListener; import org.eclipse.jetty.continuation.ContinuationSupport; import org.eclipse.jetty.http.HttpMethod; import org.eclipse.jetty.server.Request; -import org.eclipse.jetty.server.gzip.AbstractCompressedStream; -import org.eclipse.jetty.server.gzip.CompressedResponseWrapper; +import org.eclipse.jetty.servlets.gzip.AbstractCompressedStream; +import org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper; +import org.eclipse.jetty.server.handler.HandlerWrapper; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; diff --git a/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/GzipFilterContentLengthTest.java b/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/GzipFilterContentLengthTest.java index e8c7ecb45b2..8b29cfe98e7 100644 --- a/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/GzipFilterContentLengthTest.java +++ b/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/GzipFilterContentLengthTest.java @@ -24,8 +24,8 @@ import java.util.List; import javax.servlet.Servlet; import org.eclipse.jetty.http.HttpStatus; -import org.eclipse.jetty.server.gzip.CompressedResponseWrapper; import org.eclipse.jetty.servlet.FilterHolder; +import org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper; import org.eclipse.jetty.servlets.gzip.GzipTester; import org.eclipse.jetty.servlets.gzip.TestServletLengthStreamTypeWrite; import org.eclipse.jetty.servlets.gzip.TestServletLengthTypeStreamWrite; diff --git a/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/GzipFilterDefaultTest.java b/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/GzipFilterDefaultTest.java index d43887d385d..c33fa0086d8 100644 --- a/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/GzipFilterDefaultTest.java +++ b/jetty-servlets/src/test/java/org/eclipse/jetty/servlets/GzipFilterDefaultTest.java @@ -27,9 +27,9 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.eclipse.jetty.http.HttpStatus; -import org.eclipse.jetty.server.gzip.CompressedResponseWrapper; import org.eclipse.jetty.servlet.DefaultServlet; import org.eclipse.jetty.servlet.FilterHolder; +import org.eclipse.jetty.servlets.gzip.CompressedResponseWrapper; import org.eclipse.jetty.servlets.gzip.GzipTester; import org.eclipse.jetty.toolchain.test.TestingDir; import org.eclipse.jetty.util.log.Log; diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/Main.java b/jetty-start/src/main/java/org/eclipse/jetty/start/Main.java index cd97f11d3bf..73d47bc3cb1 100644 --- a/jetty-start/src/main/java/org/eclipse/jetty/start/Main.java +++ b/jetty-start/src/main/java/org/eclipse/jetty/start/Main.java @@ -142,9 +142,9 @@ public class Main { List ini_args=new ArrayList(); File start_ini = new File(_jettyHome,"start.ini"); - if (start_ini.exists()) - ini_args.addAll(loadStartIni(start_ini)); - + + boolean start_ini_processed=!start_ini.exists(); + File start_d = new File(_jettyHome,"start.d"); if (start_d.isDirectory()) { @@ -156,9 +156,21 @@ public class Main } }); Arrays.sort(inis); + for (File i : inis) + { + if (!start_ini_processed && i.getName().charAt(0)>'0') + { + start_ini_processed=true; + ini_args.addAll(loadStartIni(start_ini)); + } ini_args.addAll(loadStartIni(i)); + } } + + if (!start_ini_processed ) + ini_args.addAll(loadStartIni(start_ini)); + return ini_args; } @@ -392,7 +404,7 @@ public class Main } else if (info.equals("@STARTINI")) { - List ini = loadStartIni(new File(_jettyHome,"start.ini")); + List ini = parseStartIniFiles(); if (ini != null && ini.size() > 0) { for (String a : ini) diff --git a/jetty-start/src/main/resources/org/eclipse/jetty/start/start.config b/jetty-start/src/main/resources/org/eclipse/jetty/start/start.config index 23bb426162f..98e29cc88ff 100644 --- a/jetty-start/src/main/resources/org/eclipse/jetty/start/start.config +++ b/jetty-start/src/main/resources/org/eclipse/jetty/start/start.config @@ -4,18 +4,18 @@ # # Each line contains entry in the format: # -# SUBJECT [ [!] CONDITION [AND|OR] ]* +# SUBJECT [ [!] CONDITION [AND|OR] ]* # # where SUBJECT: -# ends with ".class" is the Main class to run. -# ends with ".xml" is a configuration file for the command line -# ends with "/" is a directory from which to add all jar and zip files. -# ends with "/*" is a directory from which to add all unconsidered jar and zip files. -# ends with "/**" is a directory from which to recursively add all unconsidered jar and zip files. -# Containing = are used to assign system properties. -# Containing ~= are used to assign start properties. -# Containing /= are used to assign a canonical path. -# all other subjects are treated as files to be added to the classpath. +# ends with ".class" is the Main class to run. +# ends with ".xml" is a configuration file for the command line +# ends with "/" is a directory from which to add all jar and zip files. +# ends with "/*" is a directory from which to add all unconsidered jar and zip files. +# ends with "/**" is a directory from which to recursively add all unconsidered jar and zip files. +# Containing = are used to assign system properties. +# Containing ~= are used to assign start properties. +# Containing /= are used to assign a canonical path. +# all other subjects are treated as files to be added to the classpath. # # ${name} is expanded to a start property # $(name) is expanded to either a start property or a system property. @@ -25,15 +25,15 @@ # the home directory. # # CONDITION is one of: -# always -# never -# available classname # true if class on classpath -# property name # true if set as start property -# system name # true if set as system property -# exists file # true if file/dir exists -# java OPERATOR version # java version compared to literal -# nargs OPERATOR number # number of command line args compared to literal -# OPERATOR := one of "<",">","<=",">=","==","!=" +# always +# never +# available classname # true if class on classpath +# property name # true if set as start property +# system name # true if set as system property +# exists file # true if file/dir exists +# java OPERATOR version # java version compared to literal +# nargs OPERATOR number # number of command line args compared to literal +# OPERATOR := one of "<",">","<=",">=","==","!=" # # CONTITIONS can be combined with AND OR or !, with AND being the assume # operator for a list of CONDITIONS. @@ -45,117 +45,118 @@ # [ssl,default] # # Clauses after a section header will only be included if they match one of the tags in the -# options property. By default options are set to "default,*" or the OPTIONS property may +# options property. By default options are set to "default,*" or the OPTIONS property may # be used to pass in a list of tags, eg. : # -# java -jar start.jar OPTIONS=jetty,jsp,ssl +# java -jar start.jar OPTIONS=jetty,jsp,ssl # # The tag '*' is always appended to the options, so any section with the * tag is always # applied. # # add a property defined classpath -${path}.path property path +${path}.path property path # add a property defined library directory -${lib}/** exists ${lib} +${lib}/** exists ${lib} # Try different settings of jetty.home until the start.jar is found. -jetty.home=. ! exists $(jetty.home)/start.jar -jetty.home=.. ! exists $(jetty.home)/start.jar -jetty.home=jetty-distribution/src/main/resources ! exists $(jetty.home)/start.jar -jetty.home=../jetty-distribution/src/main/resources ! exists $(jetty.home)/start.jar -jetty.home=. ! exists $(jetty.home)/start.jar -jetty.home/=$(jetty.home) exists $(jetty.home)/start.jar +jetty.home=. ! exists $(jetty.home)/start.jar +jetty.home=.. ! exists $(jetty.home)/start.jar +jetty.home=jetty-distribution/src/main/resources ! exists $(jetty.home)/start.jar +jetty.home=../jetty-distribution/src/main/resources ! exists $(jetty.home)/start.jar +jetty.home=. ! exists $(jetty.home)/start.jar +jetty.home/=$(jetty.home) exists $(jetty.home)/start.jar # The main class to run org.eclipse.jetty.xml.XmlConfiguration.class -${start.class}.class property start.class +${start.class}.class property start.class # The default configuration files -$(jetty.home)/etc/jetty.xml nargs == 0 -./jetty-server/src/main/config/etc/jetty.xml nargs == 0 AND ! exists $(jetty.home)/etc/jetty.xml +$(jetty.home)/etc/jetty.xml nargs == 0 +./jetty-server/src/main/config/etc/jetty.xml nargs == 0 AND ! exists $(jetty.home)/etc/jetty.xml # Default OPTIONS if not specified on the command line -OPTIONS~=default,* ! property OPTIONS +OPTIONS~=default,* ! property OPTIONS # Add a resources directory if it is there [All,resources,default] $(jetty.home)/resources/ - + # Add jetty modules [*] -$(jetty.home)/lib/jetty-util-$(version).jar ! available org.eclipse.jetty.util.StringUtil -$(jetty.home)/lib/jetty-io-$(version).jar ! available org.eclipse.jetty.io.Buffer +$(jetty.home)/lib/jetty-util-$(version).jar ! available org.eclipse.jetty.util.StringUtil +$(jetty.home)/lib/jetty-io-$(version).jar ! available org.eclipse.jetty.io.Buffer [Server,All,xml,default] -$(jetty.home)/lib/jetty-xml-$(version).jar ! available org.eclipse.jetty.xml.XmlParser - +$(jetty.home)/lib/jetty-xml-$(version).jar ! available org.eclipse.jetty.xml.XmlParser + [Server,All,server,default] -$(jetty.home)/lib/servlet-api-3.0.jar ! available javax.servlet.ServletContext -$(jetty.home)/lib/jetty-http-$(version).jar ! available org.eclipse.jetty.http.HttpParser -$(jetty.home)/lib/jetty-continuation-$(version).jar ! available org.eclipse.jetty.continuation.Continuation -$(jetty.home)/lib/jetty-server-$(version).jar ! available org.eclipse.jetty.server.Server - +$(jetty.home)/lib/servlet-api-3.0.jar ! available javax.servlet.ServletContext +$(jetty.home)/lib/jetty-http-$(version).jar ! available org.eclipse.jetty.http.HttpParser +$(jetty.home)/lib/jetty-continuation-$(version).jar ! available org.eclipse.jetty.continuation.Continuation +$(jetty.home)/lib/jetty-server-$(version).jar ! available org.eclipse.jetty.server.Server + [Server,All,security,default] -$(jetty.home)/lib/jetty-security-$(version).jar ! available org.eclipse.jetty.security.LoginService - +$(jetty.home)/lib/jetty-security-$(version).jar ! available org.eclipse.jetty.security.LoginService + [Server,All,servlet,default] -$(jetty.home)/lib/servlet-api-3.0.jar ! available javax.servlet.ServletContext -$(jetty.home)/lib/jetty-servlet-$(version).jar ! available org.eclipse.jetty.servlet.ServletHandler - +$(jetty.home)/lib/servlet-api-3.0.jar ! available javax.servlet.ServletContext +$(jetty.home)/lib/jetty-servlet-$(version).jar ! available org.eclipse.jetty.servlet.ServletHandler + [Server,All,webapp,default] -$(jetty.home)/lib/jetty-webapp-$(version).jar ! available org.eclipse.jetty.webapp.WebAppContext - +$(jetty.home)/lib/jetty-webapp-$(version).jar ! available org.eclipse.jetty.webapp.WebAppContext + [Server,All,deploy,default] -$(jetty.home)/lib/jetty-deploy-$(version).jar ! available org.eclipse.jetty.deploy.ContextDeployer - +$(jetty.home)/lib/jetty-deploy-$(version).jar ! available org.eclipse.jetty.deploy.ContextDeployer + [Server,All,servlets,default] -$(jetty.home)/lib/jetty-servlets-$(version).jar ! available org.eclipse.jetty.servlets.WelcomeFilter +$(jetty.home)/lib/jetty-servlets-$(version).jar ! available org.eclipse.jetty.servlets.WelcomeFilter [All,rewrite] -$(jetty.home)/lib/jetty-rewrite-$(version).jar ! available org.eclipse.jetty.rewrite.handler.RewriteHandler +$(jetty.home)/lib/jetty-rewrite-$(version).jar ! available org.eclipse.jetty.rewrite.handler.RewriteHandler [All,jmx] -$(jetty.home)/lib/jetty-jmx-$(version).jar ! available org.eclipse.jetty.jmx.MBeanContainer - +$(jetty.home)/lib/jetty-jmx-$(version).jar ! available org.eclipse.jetty.jmx.MBeanContainer + [All,ajp] -$(jetty.home)/lib/jetty-ajp-$(version).jar ! available org.eclipse.jetty.ajp.Ajp13Connection - +$(jetty.home)/lib/jetty-ajp-$(version).jar ! available org.eclipse.jetty.ajp.Ajp13Connection + [All,plus,jndi] -$(jetty.home)/lib/jetty-jndi-${version}.jar ! available org.eclipse.jetty.jndi.ContextFactory -$(jetty.home)/lib/jetty-plus-${version}.jar ! available org.eclipse.jetty.plus.jndi.NamingEntry -$(jetty.home)/lib/jndi/** exists $(jetty.home)/lib/jndi +$(jetty.home)/lib/jetty-jndi-${version}.jar ! available org.eclipse.jetty.jndi.ContextFactory +$(jetty.home)/lib/jetty-plus-${version}.jar ! available org.eclipse.jetty.plus.jndi.NamingEntry +$(jetty.home)/lib/jndi/** exists $(jetty.home)/lib/jndi [All,annotations] -$(jetty.home)/lib/jetty-annotations-$(version).jar ! available org.eclipse.jetty.annotations.AnnotationFinder -$(jetty.home)/lib/annotations/** exists $(jetty.home)/lib/jndi - +$(jetty.home)/lib/jetty-annotations-$(version).jar ! available org.eclipse.jetty.annotations.AnnotationFinder +$(jetty.home)/lib/annotations/** exists $(jetty.home)/lib/jndi + [All,setuid] -$(jetty.home)/lib/jetty-setuid-$(version).jar ! available org.eclipse.jetty.setuid.SetUID -$(jetty.home)/lib/setuid/** - +$(jetty.home)/lib/jetty-setuid-$(version).jar ! available org.eclipse.jetty.setuid.SetUID +$(jetty.home)/lib/setuid/** + [All,policy] -$(jetty.home)/lib/jetty-policy-$(version).jar ! available org.eclipse.jetty.policy.JettyPolicy - +$(jetty.home)/lib/jetty-policy-$(version).jar ! available org.eclipse.jetty.policy.JettyPolicy + [All,Client,client] -$(jetty.home)/lib/jetty-http-$(version).jar ! available org.eclipse.jetty.http.HttpParser -$(jetty.home)/lib/jetty-client-$(version).jar ! available org.eclipse.jetty.client.HttpClient +$(jetty.home)/lib/jetty-http-$(version).jar ! available org.eclipse.jetty.http.HttpParser +$(jetty.home)/lib/jetty-client-$(version).jar ! available org.eclipse.jetty.client.HttpClient [Client] -$(jetty.home)/lib/jetty-http-$(version).jar ! available org.eclipse.jetty.http.HttpParser +$(jetty.home)/lib/jetty-http-$(version).jar ! available org.eclipse.jetty.http.HttpParser [All,websocket] -$(jetty.home)/lib/jetty-websocket-$(version).jar ! available org.eclipse.jetty.websocket.WebSocket - +$(jetty.home)/lib/websocket-core-$(version).jar ! available org.eclipse.jetty.websocket.api.WebSocketConnection +$(jetty.home)/lib/websocket-server-$(version).jar ! available org.eclipse.jetty.websocket.server.WebSocketServlet + [All,overlay,overlays] -$(jetty.home)/lib/jetty-overlay-deployer-$(version).jar ! available org.eclipse.jetty.overlay.OverlayedAppProvider - - +$(jetty.home)/lib/jetty-overlay-deployer-$(version).jar ! available org.eclipse.jetty.overlay.OverlayedAppProvider + + # Add ext if it exists -[Server,All,default,ext] +[Server,All,default,ext] $(jetty.home)/lib/ext/** # Add all other sub-directories in /lib/ as options in a dynamic way -[All,=$(jetty.home)/lib/**] +[All,=$(jetty.home)/lib/**] diff --git a/jetty-start/src/main/resources/org/eclipse/jetty/start/usage.txt b/jetty-start/src/main/resources/org/eclipse/jetty/start/usage.txt index 41b0107580e..2a899160a28 100644 --- a/jetty-start/src/main/resources/org/eclipse/jetty/start/usage.txt +++ b/jetty-start/src/main/resources/org/eclipse/jetty/start/usage.txt @@ -120,9 +120,12 @@ Defaults: which are used if no command line arguments are provided and override the defaults in the start.config file. If the directory jetty.home/start.d exists, then multiple *.ini files will be read from that directory in - alphabetical order. If --ini options are provided on the command line, - then start.ini and start.d will NOT be read. + alphabetical order. The contents of start.ini are processed after any + start.d files starting with a character <= "0". - The current start.ini arguments are: + If --ini options are provided on the command line, then start.ini and + start.d will NOT be read. + + The current start.ini/start.d arguments are: @STARTINI@ diff --git a/jetty-util/src/main/config/etc/jetty-logging.xml b/jetty-util/src/main/config/etc/jetty-logging.xml index 2060a222e2e..a4329945720 100644 --- a/jetty-util/src/main/config/etc/jetty-logging.xml +++ b/jetty-util/src/main/config/etc/jetty-logging.xml @@ -22,7 +22,9 @@ - Redirecting stderr/stdout to + + Redirecting stderr/stdout to + diff --git a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppContext.java b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppContext.java index dff4a534eb4..1f810248355 100644 --- a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppContext.java +++ b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppContext.java @@ -107,8 +107,7 @@ public class WebAppContext extends ServletContextHandler implements WebAppClassL "org.eclipse.jetty.continuation.", // webapp cannot change continuation classes "org.eclipse.jetty.jndi.", // webapp cannot change naming classes "org.eclipse.jetty.plus.jaas.", // webapp cannot change jaas classes - "org.eclipse.jetty.websocket.WebSocket", // WebSocket is a jetty extension - "org.eclipse.jetty.websocket.WebSocketFactory", // WebSocket is a jetty extension + "org.eclipse.jetty.websocket.", // WebSocket is a jetty extension "org.eclipse.jetty.servlet.DefaultServlet" // webapp cannot change default servlets } ; @@ -121,8 +120,7 @@ public class WebAppContext extends ServletContextHandler implements WebAppClassL "-org.eclipse.jetty.continuation.", // don't hide continuation classes "-org.eclipse.jetty.jndi.", // don't hide naming classes "-org.eclipse.jetty.plus.jaas.", // don't hide jaas classes - "-org.eclipse.jetty.websocket.WebSocket", // WebSocket is a jetty extension - "-org.eclipse.jetty.websocket.WebSocketFactory", // WebSocket is a jetty extension + "-org.eclipse.jetty.websocket.", // WebSocket is a jetty extension "-org.eclipse.jetty.servlet.DefaultServlet", // don't hide default servlet "-org.eclipse.jetty.servlet.listener.", // don't hide useful listeners "org.eclipse.jetty." // hide other jetty classes @@ -855,13 +853,18 @@ public class WebAppContext extends ServletContextHandler implements WebAppClassL } } - - /* ------------------------------------------------------------ */ @Override public String toString() { - return super.toString()+(_war==null?"":(","+_war)); + if (_war!=null) + { + String war=_war; + if (war.indexOf("/webapps/")>=0) + war=war.substring(war.indexOf("/webapps/")+8); + return super.toString()+"{"+war+"}"; + } + return super.toString(); } /* ------------------------------------------------------------ */ diff --git a/jetty-xml/src/main/java/org/eclipse/jetty/xml/XmlConfiguration.java b/jetty-xml/src/main/java/org/eclipse/jetty/xml/XmlConfiguration.java index a7872a754bb..3001cc507a5 100644 --- a/jetty-xml/src/main/java/org/eclipse/jetty/xml/XmlConfiguration.java +++ b/jetty-xml/src/main/java/org/eclipse/jetty/xml/XmlConfiguration.java @@ -346,6 +346,22 @@ public class XmlConfiguration if (id != null) _idMap.put(id,obj); + // Object already constructed so skip any arguments + for (; i < cfg.size(); i++) + { + Object o = cfg.get(i); + if (o instanceof String) + continue; + XmlParser.Node node = (XmlParser.Node)o; + if ("Arg".equals(node.getTag())) + { + LOG.warn("Ignored arg: "+node); + continue; + } + break; + } + + // Process real arguments for (; i < cfg.size(); i++) { Object o = cfg.get(i); diff --git a/jetty-xml/src/test/java/org/eclipse/jetty/xml/TestConfiguration.java b/jetty-xml/src/test/java/org/eclipse/jetty/xml/TestConfiguration.java index ec5525ba216..50a2d0a0142 100644 --- a/jetty-xml/src/test/java/org/eclipse/jetty/xml/TestConfiguration.java +++ b/jetty-xml/src/test/java/org/eclipse/jetty/xml/TestConfiguration.java @@ -26,6 +26,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import org.eclipse.jetty.util.annotation.Name; import org.junit.Ignore; @Ignore @@ -33,6 +34,7 @@ public class TestConfiguration extends HashMap { public static int VALUE=77; + public final String name; public TestConfiguration nested; public Object testObject; public int testInt; @@ -49,7 +51,19 @@ public class TestConfiguration extends HashMap private Set set; private ConstructorArgTestClass constructorArgTestClass; public Map map; + + + public TestConfiguration() + { + this(""); + } + + public TestConfiguration(@Name("name") String n) + { + name=n; + } + public void setTest(Object value) { testObject=value; @@ -73,7 +87,7 @@ public class TestConfiguration extends HashMap public TestConfiguration call(Boolean b) { - nested=new TestConfiguration(); + nested=new TestConfiguration("called-"+name); nested.put("Arg",b); return nested; } diff --git a/jetty-xml/src/test/java/org/eclipse/jetty/xml/XmlConfigurationTest.java b/jetty-xml/src/test/java/org/eclipse/jetty/xml/XmlConfigurationTest.java index b634863e543..1d75992d4a5 100644 --- a/jetty-xml/src/test/java/org/eclipse/jetty/xml/XmlConfigurationTest.java +++ b/jetty-xml/src/test/java/org/eclipse/jetty/xml/XmlConfigurationTest.java @@ -56,7 +56,7 @@ public class XmlConfigurationTest URL url = XmlConfigurationTest.class.getClassLoader().getResource(_configure); XmlConfiguration configuration = new XmlConfiguration(url); - TestConfiguration tc = new TestConfiguration(); + TestConfiguration tc = new TestConfiguration("tc"); configuration.getProperties().putAll(properties); configuration.configure(tc); diff --git a/jetty-xml/src/test/resources/org/eclipse/jetty/xml/configure.xml b/jetty-xml/src/test/resources/org/eclipse/jetty/xml/configure.xml index c1232b822be..709bd0d6112 100644 --- a/jetty-xml/src/test/resources/org/eclipse/jetty/xml/configure.xml +++ b/jetty-xml/src/test/resources/org/eclipse/jetty/xml/configure.xml @@ -2,6 +2,7 @@ + name SetValue diff --git a/pom.xml b/pom.xml index 1dd08e04830..fc9fbfd16f6 100644 --- a/pom.xml +++ b/pom.xml @@ -378,8 +378,11 @@ jetty-annotations jetty-jndi jetty-jsp + jetty-distribution + jetty-spring + - jetty-distribution