Repository: accumulo Updated Branches: refs/heads/1.6.1-SNAPSHOT dd422b963 -> c78c18b32 refs/heads/master f2aeb14c7 -> 4161cc549
ACCUMULO-2808 Update to Jetty 9 Includes packaging improvements for the assembly, so that it will not interfere with hadoop-provided libraries, including bundling jetty and slf4j jars. Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/c78c18b3 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/c78c18b3 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/c78c18b3 Branch: refs/heads/1.6.1-SNAPSHOT Commit: c78c18b32eb2ee283cf0ca7aada51ab79d6da676 Parents: dd422b9 Author: Christopher Tubbs <ctubb...@apache.org> Authored: Thu May 15 20:11:44 2014 -0400 Committer: Christopher Tubbs <ctubb...@apache.org> Committed: Tue Jun 17 14:05:14 2014 -0400 ---------------------------------------------------------------------- assemble/pom.xml | 36 +++++++++++ assemble/src/main/assemblies/component.xml | 13 +++- conf/templates/accumulo-site.xml | 4 +- pom.xml | 38 +++++++++-- server/monitor/pom.xml | 36 +++++++++-- .../accumulo/monitor/EmbeddedWebServer.java | 67 ++++++++++---------- start/pom.xml | 4 +- test/pom.xml | 4 +- 8 files changed, 148 insertions(+), 54 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/c78c18b3/assemble/pom.xml ---------------------------------------------------------------------- diff --git a/assemble/pom.xml b/assemble/pom.xml index c07030e..c569dee 100644 --- a/assemble/pom.xml +++ b/assemble/pom.xml @@ -44,6 +44,10 @@ <artifactId>guava</artifactId> </dependency> <dependency> + <groupId>javax.servlet</groupId> + <artifactId>javax.servlet-api</artifactId> + </dependency> + <dependency> <groupId>jline</groupId> <artifactId>jline</artifactId> </dependency> @@ -120,6 +124,38 @@ <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-http</artifactId> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-io</artifactId> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-security</artifactId> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-server</artifactId> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-servlet</artifactId> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-util</artifactId> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </dependency> </dependencies> <profiles> <profile> http://git-wip-us.apache.org/repos/asf/accumulo/blob/c78c18b3/assemble/src/main/assemblies/component.xml ---------------------------------------------------------------------- diff --git a/assemble/src/main/assemblies/component.xml b/assemble/src/main/assemblies/component.xml index 747444b..7efa48b 100644 --- a/assemble/src/main/assemblies/component.xml +++ b/assemble/src/main/assemblies/component.xml @@ -27,13 +27,22 @@ <useTransitiveDependencies>false</useTransitiveDependencies> <includes> <include>${groupId}:${artifactId}-*</include> - <include>org.apache.commons:commons-math</include> - <include>org.apache.commons:commons-vfs2</include> <include>com.beust:jcommander</include> <include>com.google.code.gson:gson</include> <include>com.google.guava:guava</include> + <include>javax.servlet:javax.servlet-api</include> <include>jline:jline</include> + <include>org.apache.commons:commons-math</include> + <include>org.apache.commons:commons-vfs2</include> <include>org.apache.thrift:libthrift</include> + <include>org.eclipse.jetty:jetty-http</include> + <include>org.eclipse.jetty:jetty-io</include> + <include>org.eclipse.jetty:jetty-security</include> + <include>org.eclipse.jetty:jetty-server</include> + <include>org.eclipse.jetty:jetty-servlet</include> + <include>org.eclipse.jetty:jetty-util</include> + <include>org.slf4j:slf4j-api</include> + <include>org.slf4j:slf4j-log4j12</include> </includes> <excludes> <exclude>${groupId}:${artifactId}-docs</exclude> http://git-wip-us.apache.org/repos/asf/accumulo/blob/c78c18b3/conf/templates/accumulo-site.xml ---------------------------------------------------------------------- diff --git a/conf/templates/accumulo-site.xml b/conf/templates/accumulo-site.xml index 052ed7e..08c905b 100644 --- a/conf/templates/accumulo-site.xml +++ b/conf/templates/accumulo-site.xml @@ -110,7 +110,7 @@ ${mvnProjBaseDir} <!-- Hadoop 2 requirements --> $HADOOP_PREFIX/share/hadoop/common/[^.].*.jar, - $HADOOP_PREFIX/share/hadoop/common/lib/[^.].*.jar, + $HADOOP_PREFIX/share/hadoop/common/lib/(?!slf4j)[^.].*.jar, $HADOOP_PREFIX/share/hadoop/hdfs/[^.].*.jar, $HADOOP_PREFIX/share/hadoop/mapreduce/[^.].*.jar, $HADOOP_PREFIX/share/hadoop/yarn/[^.].*.jar, @@ -123,7 +123,7 @@ ${mvnProjBaseDir} <!-- Hadoop 1 requirements --> $HADOOP_PREFIX/[^.].*.jar, - $HADOOP_PREFIX/lib/[^.].*.jar, + $HADOOP_PREFIX/lib/(?!slf4j)[^.].*.jar, <!-- End Hadoop 1 requirements --> </value> http://git-wip-us.apache.org/repos/asf/accumulo/blob/c78c18b3/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 515234d..c01e6bc 100644 --- a/pom.xml +++ b/pom.xml @@ -123,6 +123,7 @@ <!-- overwritten in profiles hadoop-1 or hadoop-2 --> <hadoop.version>2.2.0</hadoop.version> <httpclient.version>3.1</httpclient.version> + <jetty.version>9.1.5.v20140505</jetty.version> <!-- the maven-release-plugin makes this recommendation, due to plugin bugs --> <maven.min-version>3.0.4</maven.min-version> <!-- surefire/failsafe plugin option --> @@ -195,8 +196,8 @@ </dependency> <dependency> <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.5</version> + <artifactId>javax.servlet-api</artifactId> + <version>3.1.0</version> </dependency> <dependency> <groupId>javax.ws.rs</groupId> @@ -412,9 +413,34 @@ <version>3.1</version> </dependency> <dependency> - <groupId>org.mortbay.jetty</groupId> - <artifactId>jetty</artifactId> - <version>6.1.26</version> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-http</artifactId> + <version>${jetty.version}</version> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-io</artifactId> + <version>${jetty.version}</version> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-security</artifactId> + <version>${jetty.version}</version> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-server</artifactId> + <version>${jetty.version}</version> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-servlet</artifactId> + <version>${jetty.version}</version> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-util</artifactId> + <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.powermock</groupId> @@ -1113,7 +1139,7 @@ <properties> <hadoop.version>1.2.1</hadoop.version> <httpclient.version>3.0.1</httpclient.version> - <slf4j.version>1.4.3</slf4j.version> + <slf4j.version>1.7.5</slf4j.version> </properties> </profile> <!-- profile for building against Hadoop 2.x http://git-wip-us.apache.org/repos/asf/accumulo/blob/c78c18b3/server/monitor/pom.xml ---------------------------------------------------------------------- diff --git a/server/monitor/pom.xml b/server/monitor/pom.xml index f3785ae..f305818 100644 --- a/server/monitor/pom.xml +++ b/server/monitor/pom.xml @@ -41,7 +41,7 @@ </dependency> <dependency> <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> + <artifactId>javax.servlet-api</artifactId> </dependency> <dependency> <groupId>jline</groupId> @@ -80,22 +80,44 @@ <artifactId>zookeeper</artifactId> </dependency> <dependency> - <groupId>org.mortbay.jetty</groupId> - <artifactId>jetty</artifactId> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-security</artifactId> </dependency> <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-server</artifactId> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-servlet</artifactId> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-util</artifactId> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-http</artifactId> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-io</artifactId> + <scope>runtime</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> - <scope>test</scope> + <scope>runtime</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> <scope>test</scope> </dependency> </dependencies> http://git-wip-us.apache.org/repos/asf/accumulo/blob/c78c18b3/server/monitor/src/main/java/org/apache/accumulo/monitor/EmbeddedWebServer.java ---------------------------------------------------------------------- diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/EmbeddedWebServer.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/EmbeddedWebServer.java index 1eeb04e..c76b4cf 100644 --- a/server/monitor/src/main/java/org/apache/accumulo/monitor/EmbeddedWebServer.java +++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/EmbeddedWebServer.java @@ -19,60 +19,61 @@ package org.apache.accumulo.monitor; import javax.servlet.http.HttpServlet; import org.apache.accumulo.core.conf.Property; -import org.mortbay.jetty.Server; -import org.mortbay.jetty.bio.SocketConnector; -import org.mortbay.jetty.handler.ContextHandlerCollection; -import org.mortbay.jetty.security.SslSocketConnector; -import org.mortbay.jetty.servlet.Context; -import org.mortbay.jetty.servlet.SessionHandler; +import org.eclipse.jetty.server.HttpConnectionFactory; +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.server.ServerConnector; +import org.eclipse.jetty.server.session.SessionHandler; +import org.eclipse.jetty.servlet.ServletContextHandler; +import org.eclipse.jetty.util.ssl.SslContextFactory; public class EmbeddedWebServer { private static String EMPTY = ""; - + Server server = null; - SocketConnector sock; - ContextHandlerCollection handler; - Context root; + ServerConnector connector = null; + ServletContextHandler handler; boolean usingSsl; - + public EmbeddedWebServer() { this("0.0.0.0", 0); } - + public EmbeddedWebServer(String host, int port) { server = new Server(); - handler = new ContextHandlerCollection(); - root = new Context(handler, "/", new SessionHandler(), null, null, null); - if (EMPTY.equals(Monitor.getSystemConfiguration().get(Property.MONITOR_SSL_KEYSTORE)) || EMPTY.equals(Monitor.getSystemConfiguration().get(Property.MONITOR_SSL_KEYSTOREPASS)) - || EMPTY.equals(Monitor.getSystemConfiguration().get(Property.MONITOR_SSL_TRUSTSTORE)) - || EMPTY.equals(Monitor.getSystemConfiguration().get(Property.MONITOR_SSL_TRUSTSTOREPASS))) { - sock = new SocketConnector(); + || EMPTY.equals(Monitor.getSystemConfiguration().get(Property.MONITOR_SSL_TRUSTSTORE)) || EMPTY.equals(Monitor.getSystemConfiguration().get( +Property.MONITOR_SSL_TRUSTSTOREPASS))) { + connector = new ServerConnector(server, new HttpConnectionFactory()); usingSsl = false; } else { - sock = new SslSocketConnector(); - ((SslSocketConnector) sock).setKeystore(Monitor.getSystemConfiguration().get(Property.MONITOR_SSL_KEYSTORE)); - ((SslSocketConnector) sock).setKeyPassword(Monitor.getSystemConfiguration().get(Property.MONITOR_SSL_KEYSTOREPASS)); - ((SslSocketConnector) sock).setTruststore(Monitor.getSystemConfiguration().get(Property.MONITOR_SSL_TRUSTSTORE)); - ((SslSocketConnector) sock).setTrustPassword(Monitor.getSystemConfiguration().get(Property.MONITOR_SSL_TRUSTSTOREPASS)); + SslContextFactory sslContextFactory = new SslContextFactory(); + sslContextFactory.setKeyStorePath(Monitor.getSystemConfiguration().get(Property.MONITOR_SSL_KEYSTORE)); + sslContextFactory.setKeyStorePassword(Monitor.getSystemConfiguration().get(Property.MONITOR_SSL_KEYSTOREPASS)); + sslContextFactory.setTrustStorePath(Monitor.getSystemConfiguration().get(Property.MONITOR_SSL_TRUSTSTORE)); + sslContextFactory.setTrustStorePassword(Monitor.getSystemConfiguration().get(Property.MONITOR_SSL_TRUSTSTOREPASS)); + + connector = new ServerConnector(server, sslContextFactory); usingSsl = true; } - sock.setHost(host); - sock.setPort(port); + + connector.setHost(host); + connector.setPort(port); + + handler = new ServletContextHandler(server, "/", new SessionHandler(), null, null, null); } - + public void addServlet(Class<? extends HttpServlet> klass, String where) { - root.addServlet(klass, where); + handler.addServlet(klass, where); } - + public int getPort() { - return sock.getLocalPort(); + return connector.getLocalPort(); } - + public void start() { try { - server.addConnector(sock); + server.addConnector(connector); server.setHandler(handler); server.start(); } catch (Exception e) { @@ -80,7 +81,7 @@ public class EmbeddedWebServer { throw new RuntimeException(e); } } - + public void stop() { try { server.stop(); @@ -88,7 +89,7 @@ public class EmbeddedWebServer { throw new RuntimeException(e); } } - + public boolean isUsingSsl() { return usingSsl; } http://git-wip-us.apache.org/repos/asf/accumulo/blob/c78c18b3/start/pom.xml ---------------------------------------------------------------------- diff --git a/start/pom.xml b/start/pom.xml index 7aac090..7885386 100644 --- a/start/pom.xml +++ b/start/pom.xml @@ -71,8 +71,8 @@ <scope>test</scope> </dependency> <dependency> - <groupId>org.mortbay.jetty</groupId> - <artifactId>jetty</artifactId> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-server</artifactId> <scope>test</scope> </dependency> <dependency> http://git-wip-us.apache.org/repos/asf/accumulo/blob/c78c18b3/test/pom.xml ---------------------------------------------------------------------- diff --git a/test/pom.xml b/test/pom.xml index 45cacb8..90e0dd5 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -162,8 +162,8 @@ <scope>test</scope> </dependency> <dependency> - <groupId>org.mortbay.jetty</groupId> - <artifactId>jetty</artifactId> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-server</artifactId> <scope>test</scope> </dependency> <dependency>