diff options
15 files changed, 77 insertions, 17 deletions
diff --git a/VERSION.txt b/VERSION.txt index 952489b491..e2023cf8a2 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -22,6 +22,7 @@ jetty-7.4.0-SNAPSHOT + 341394 Remove 'Unavailable' JMX attributes of WebAppContext MBean + 341439 Blocking HttpClient does not use soTimeout for timeouts + 341561 Exception when adding o.e.j.s.DoSFilter as managed attribute + + 341736 Split jetty-nested out of war module + JETTY-1245 Pooled Buffers implementation + JETTY-1354 Added jetty-nested + Ensure generated fragment names are unique diff --git a/jetty-nested/pom.xml b/jetty-nested/pom.xml index 599fd9ba2b..31a579af7a 100644 --- a/jetty-nested/pom.xml +++ b/jetty-nested/pom.xml @@ -8,7 +8,7 @@ </parent> <artifactId>jetty-nested</artifactId> <name>Jetty :: Nested</name> - <packaging>war</packaging> + <packaging>jar</packaging> <build> <plugins> </plugins> @@ -16,7 +16,7 @@ <dependencies> <dependency> <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-webapp</artifactId> + <artifactId>jetty-server</artifactId> <version>${project.version}</version> </dependency> </dependencies> diff --git a/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedConnection.java b/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedConnection.java index 5ecc47373d..1a2d31606b 100644 --- a/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedConnection.java +++ b/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedConnection.java @@ -26,7 +26,7 @@ public class NestedConnection extends HttpConnection super(connector, endp, connector.getServer(), - new NestedParser(request), + new NestedParser(), new NestedGenerator(connector.getResponseBuffers(),endp,response,nestedIn), new NestedRequest()); @@ -56,7 +56,7 @@ public class NestedConnection extends HttpConnection // System.err.println(fields.toString()); } - public void handle2() throws IOException, ServletException + void service() throws IOException, ServletException { setCurrentConnection(this); try @@ -81,4 +81,13 @@ public class NestedConnection extends HttpConnection return ((NestedEndPoint)_endp).getServletInputStream(); } + /* (non-Javadoc) + * @see org.eclipse.jetty.server.HttpConnection#handle() + */ + @Override + public Connection handle() throws IOException + { + throw new IllegalStateException(); + } + } diff --git a/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedConnector.java b/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedConnector.java index 8606418118..63b0370516 100644 --- a/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedConnector.java +++ b/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedConnector.java @@ -1,10 +1,27 @@ package org.eclipse.jetty.nested; import java.io.IOException; + +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + import org.eclipse.jetty.server.AbstractConnector; +import org.eclipse.jetty.server.Connector; +/** + * Nested Jetty Connector + * <p> + * This Jetty {@link Connector} allows a jetty instance to be nested inside another servlet container. + * Requests received by the outer servlet container should be passed to jetty using the {@link #service(ServletRequest, ServletResponse)} method of this connector. + * + */ public class NestedConnector extends AbstractConnector { + String _serverInfo; + public NestedConnector() { setAcceptors(0); @@ -33,5 +50,20 @@ public class NestedConnector extends AbstractConnector { throw new IllegalStateException(); } + + /** + * Service a request of the outer servlet container by passing it to the nested instance of Jetty. + * @param outerRequest + * @param outerResponse + * @throws IOException + * @throws ServletException + */ + public void service(ServletRequest outerRequest, ServletResponse outerResponse) throws IOException, ServletException + { + HttpServletRequest request = (HttpServletRequest)outerRequest; + HttpServletResponse response = (HttpServletResponse)outerResponse; + NestedConnection connection=new NestedConnection(this,new NestedEndPoint(request,response),request,response,_serverInfo); + connection.service(); + } } diff --git a/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedParser.java b/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedParser.java index 68739fc0a7..015dd5bdc0 100644 --- a/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedParser.java +++ b/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedParser.java @@ -9,38 +9,31 @@ import org.eclipse.jetty.http.Parser; public class NestedParser implements Parser { - public NestedParser(HttpServletRequest request) + public NestedParser() { - // TODO Auto-generated constructor stub } public void reset(boolean returnBuffers) { - // TODO Auto-generated method stub - } public boolean isComplete() { - // TODO Auto-generated method stub return false; } public int parseAvailable() throws IOException { - // TODO Auto-generated method stub return 0; } public boolean isMoreInBuffer() throws IOException { - // TODO Auto-generated method stub return false; } public boolean isIdle() { - // TODO Auto-generated method stub return false; } @@ -312,6 +312,7 @@ <module>test-continuation-jetty6</module> <module>test-jetty-servlet</module> <module>test-jetty-webapp</module> + <module>test-jetty-nested</module> <module>example-jetty-embedded</module> <module>tests</module> </modules> diff --git a/test-jetty-nested/pom.xml b/test-jetty-nested/pom.xml new file mode 100644 index 0000000000..4d8ca4f06f --- /dev/null +++ b/test-jetty-nested/pom.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-project</artifactId> + <version>7.4.0-SNAPSHOT</version> + </parent> + <artifactId>test-jetty-nested</artifactId> + <name>Jetty :: Nested Test</name> + <packaging>war</packaging> + <build> + <plugins> + </plugins> + </build> + <dependencies> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-nested</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-webapp</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> +</project> diff --git a/jetty-nested/src/main/java/org/eclipse/jetty/nested/Dump.java b/test-jetty-nested/src/main/java/org/eclipse/jetty/nested/Dump.java index 3ff280228a..3ff280228a 100644 --- a/jetty-nested/src/main/java/org/eclipse/jetty/nested/Dump.java +++ b/test-jetty-nested/src/main/java/org/eclipse/jetty/nested/Dump.java diff --git a/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedJettyServlet.java b/test-jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedJettyServlet.java index 681f61f23e..e954b5893b 100644 --- a/jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedJettyServlet.java +++ b/test-jetty-nested/src/main/java/org/eclipse/jetty/nested/NestedJettyServlet.java @@ -102,11 +102,7 @@ public class NestedJettyServlet implements Servlet public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { - HttpServletRequest request = (HttpServletRequest)req; - HttpServletResponse response = (HttpServletResponse)res; - - NestedConnection connection=new NestedConnection(_connector,new NestedEndPoint(request,response),request,response,_context.getServerInfo()); - connection.handle2(); + _connector.service(req,res); } public String getServletInfo() diff --git a/jetty-nested/src/main/webapp/WEB-INF/jetty.xml b/test-jetty-nested/src/main/webapp/WEB-INF/jetty.xml index 24316225ec..24316225ec 100644 --- a/jetty-nested/src/main/webapp/WEB-INF/jetty.xml +++ b/test-jetty-nested/src/main/webapp/WEB-INF/jetty.xml diff --git a/jetty-nested/src/main/webapp/WEB-INF/web.xml b/test-jetty-nested/src/main/webapp/WEB-INF/web.xml index 9b542ac427..9b542ac427 100644 --- a/jetty-nested/src/main/webapp/WEB-INF/web.xml +++ b/test-jetty-nested/src/main/webapp/WEB-INF/web.xml diff --git a/jetty-nested/src/main/webapp/index.html b/test-jetty-nested/src/main/webapp/index.html index d4a517100f..d4a517100f 100644 --- a/jetty-nested/src/main/webapp/index.html +++ b/test-jetty-nested/src/main/webapp/index.html diff --git a/jetty-nested/src/main/webapp/nested/WEB-INF/web.xml b/test-jetty-nested/src/main/webapp/nested/WEB-INF/web.xml index 8ab4e16a2d..8ab4e16a2d 100644 --- a/jetty-nested/src/main/webapp/nested/WEB-INF/web.xml +++ b/test-jetty-nested/src/main/webapp/nested/WEB-INF/web.xml diff --git a/jetty-nested/src/main/webapp/nested/dump.jsp b/test-jetty-nested/src/main/webapp/nested/dump.jsp index fb73b0b000..fb73b0b000 100644 --- a/jetty-nested/src/main/webapp/nested/dump.jsp +++ b/test-jetty-nested/src/main/webapp/nested/dump.jsp diff --git a/jetty-nested/src/main/webapp/nested/index.html b/test-jetty-nested/src/main/webapp/nested/index.html index 194115068c..194115068c 100644 --- a/jetty-nested/src/main/webapp/nested/index.html +++ b/test-jetty-nested/src/main/webapp/nested/index.html |