Repository: wicket Updated Branches: refs/heads/master a56fe3e9c -> 1f7457046
WICKET-5990 Upgrade Jetty usage in Wicket tests/quickstart to Jetty 9.3.x Fix Wicket-Examples Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/1f745704 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/1f745704 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/1f745704 Branch: refs/heads/master Commit: 1f74570463eb10371c226c3b4aa6916997246aed Parents: a56fe3e Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Sat Oct 3 14:44:50 2015 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Sat Oct 3 14:44:50 2015 +0200 ---------------------------------------------------------------------- pom.xml | 2 +- wicket-examples/pom.xml | 55 +++++++++-------- .../wicket/examples/JettyTestCaseDecorator.java | 17 ++++-- .../apache/wicket/examples/StartExamples.java | 62 +++++++++++--------- 4 files changed, 78 insertions(+), 58 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/1f745704/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 94d923d..a8d369f 100644 --- a/pom.xml +++ b/pom.xml @@ -128,7 +128,7 @@ <!-- Project Versions --> <jacoco.version>0.7.5.201505241946</jacoco.version> - <jetty.version>8.1.16.v20140903</jetty.version> + <jetty.version>9.3.3.v20150827</jetty.version> <joda-time.version>2.7</joda-time.version> <junit.version>4.12</junit.version> <spring.version>4.2.1.RELEASE</spring.version> http://git-wip-us.apache.org/repos/asf/wicket/blob/1f745704/wicket-examples/pom.xml ---------------------------------------------------------------------- diff --git a/wicket-examples/pom.xml b/wicket-examples/pom.xml index 027347c..ba68adf 100644 --- a/wicket-examples/pom.xml +++ b/wicket-examples/pom.xml @@ -53,26 +53,35 @@ <artifactId>servlet-api</artifactId> </exclusion> </exclusions> - </dependency> - <dependency> - <groupId>org.eclipse.jetty.aggregate</groupId> - <artifactId>jetty-all-server</artifactId> - <version>${jetty.version}</version> - <exclusions> - <exclusion> - <!-- exclude because the same jar comes from JBoss Weld and the following error occurs: - class "javax.annotation.ManagedBean"'s signer information does not match signer - information of other classes in the same package - --> - <groupId>org.eclipse.jetty.orbit</groupId> - <artifactId>javax.annotation</artifactId> - </exclusion> - </exclusions> - </dependency> - </dependencies> - </dependencyManagement> + </dependency> + </dependencies> + </dependencyManagement> <dependencies> <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-server</artifactId> + <version>${jetty.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-webapp</artifactId> + <version>${jetty.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-util</artifactId> + <version>${jetty.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-jmx</artifactId> + <version>${jetty.version}</version> + <scope>test</scope> + </dependency> + <dependency> <groupId>javax.el</groupId> <artifactId>javax.el-api</artifactId> </dependency> @@ -154,14 +163,10 @@ <artifactId>wicket-atmosphere</artifactId> </dependency> <dependency> - <groupId>org.eclipse.jetty.aggregate</groupId> - <artifactId>jetty-all-server</artifactId> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-validator</artifactId> + <scope>compile</scope> </dependency> - <dependency> - <groupId>org.hibernate</groupId> - <artifactId>hibernate-validator</artifactId> - <scope>compile</scope> - </dependency> <dependency> <groupId>org.jboss.weld.servlet</groupId> <artifactId>weld-servlet</artifactId> http://git-wip-us.apache.org/repos/asf/wicket/blob/1f745704/wicket-examples/src/test/java/org/apache/wicket/examples/JettyTestCaseDecorator.java ---------------------------------------------------------------------- diff --git a/wicket-examples/src/test/java/org/apache/wicket/examples/JettyTestCaseDecorator.java b/wicket-examples/src/test/java/org/apache/wicket/examples/JettyTestCaseDecorator.java index 7a4344f..cd00729 100644 --- a/wicket-examples/src/test/java/org/apache/wicket/examples/JettyTestCaseDecorator.java +++ b/wicket-examples/src/test/java/org/apache/wicket/examples/JettyTestCaseDecorator.java @@ -17,9 +17,10 @@ package org.apache.wicket.examples; import com.meterware.httpunit.HttpUnitOptions; -import org.eclipse.jetty.server.Connector; +import org.eclipse.jetty.server.HttpConfiguration; +import org.eclipse.jetty.server.HttpConnectionFactory; import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.server.nio.SelectChannelConnector; +import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.webapp.WebAppContext; import org.junit.After; import org.junit.Assert; @@ -48,8 +49,14 @@ public class JettyTestCaseDecorator extends Assert System.setProperty("wicket.configuration", "deployment"); server = new Server(0); - SelectChannelConnector connector = new SelectChannelConnector(); - server.setConnectors(new Connector[] { connector }); + + HttpConfiguration http_config = new HttpConfiguration(); + http_config.setSecureScheme("https"); + http_config.setSecurePort(8443); + http_config.setOutputBufferSize(32768); + + ServerConnector http = new ServerConnector(server, new HttpConnectionFactory(http_config)); + server.addConnector(http); WebAppContext web = new WebAppContext(); if (contextPath == null) @@ -74,7 +81,7 @@ public class JettyTestCaseDecorator extends Assert server.setHandler(web); server.start(); - localPort = connector.getLocalPort(); + localPort = http.getLocalPort(); } /** http://git-wip-us.apache.org/repos/asf/wicket/blob/1f745704/wicket-examples/src/test/java/org/apache/wicket/examples/StartExamples.java ---------------------------------------------------------------------- diff --git a/wicket-examples/src/test/java/org/apache/wicket/examples/StartExamples.java b/wicket-examples/src/test/java/org/apache/wicket/examples/StartExamples.java index ee88d6d..f274e40 100644 --- a/wicket-examples/src/test/java/org/apache/wicket/examples/StartExamples.java +++ b/wicket-examples/src/test/java/org/apache/wicket/examples/StartExamples.java @@ -20,12 +20,13 @@ import java.lang.management.ManagementFactory; import javax.management.MBeanServer; -import org.apache.wicket.util.time.Duration; import org.eclipse.jetty.jmx.MBeanContainer; -import org.eclipse.jetty.server.Connector; +import org.eclipse.jetty.server.HttpConfiguration; +import org.eclipse.jetty.server.HttpConnectionFactory; +import org.eclipse.jetty.server.SecureRequestCustomizer; import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.server.nio.SelectChannelConnector; -import org.eclipse.jetty.server.ssl.SslSocketConnector; +import org.eclipse.jetty.server.ServerConnector; +import org.eclipse.jetty.server.SslConnectionFactory; import org.eclipse.jetty.util.resource.Resource; import org.eclipse.jetty.util.ssl.SslContextFactory; import org.eclipse.jetty.webapp.WebAppContext; @@ -46,16 +47,21 @@ public class StartExamples System.setProperty("wicket.configuration", "development"); Server server = new Server(); - SelectChannelConnector connector = new SelectChannelConnector(); - // Set some timeout options to make debugging easier. - connector.setMaxIdleTime(1000 * 60 * 60); - connector.setSoLingerTime(-1); - connector.setPort(8080); - server.setConnectors(new Connector[] { connector }); + HttpConfiguration http_config = new HttpConfiguration(); + http_config.setSecureScheme("https"); + http_config.setSecurePort(8443); + http_config.setOutputBufferSize(32768); + + ServerConnector http = new ServerConnector(server, new HttpConnectionFactory(http_config)); + http.setPort(8080); + http.setIdleTimeout(1000 * 60 * 60); + + server.addConnector(http); Resource keystore = Resource.newClassPathResource("/keystore"); - if (keystore != null && keystore.exists()) { + if (keystore != null && keystore.exists()) + { // if a keystore for a SSL certificate is available, start a SSL // connector on port 8443. // By default, the quickstart comes with a Apache Wicket Quickstart @@ -63,22 +69,23 @@ public class StartExamples // use this certificate anywhere important as the passwords are // available in the source. - connector.setConfidentialPort(8443); + SslContextFactory sslContextFactory = new SslContextFactory(); + sslContextFactory.setKeyStoreResource(keystore); + sslContextFactory.setKeyStorePassword("wicket"); + sslContextFactory.setKeyManagerPassword("wicket"); + + HttpConfiguration https_config = new HttpConfiguration(http_config); + https_config.addCustomizer(new SecureRequestCustomizer()); - SslContextFactory factory = new SslContextFactory(); - factory.setKeyStoreResource(keystore); - factory.setKeyStorePassword("wicket"); - factory.setTrustStoreResource(keystore); - factory.setKeyManagerPassword("wicket"); - SslSocketConnector sslConnector = new SslSocketConnector(factory); - int timeout = (int) Duration.ONE_HOUR.getMilliseconds(); - sslConnector.setMaxIdleTime(timeout); - sslConnector.setPort(8443); - sslConnector.setAcceptors(4); - server.addConnector(sslConnector); + ServerConnector https = new ServerConnector(server, new SslConnectionFactory( + sslContextFactory, "http/1.1"), new HttpConnectionFactory(https_config)); + https.setPort(8443); + https.setIdleTimeout(500000); + server.addConnector(https); System.out.println("SSL access to the examples has been enabled on port 8443"); - System.out.println("You can access the application using SSL on https://localhost:8443"); + System.out + .println("You can access the application using SSL on https://localhost:8443"); System.out.println(); } @@ -88,17 +95,18 @@ public class StartExamples bb.setWar("src/main/webapp"); // uncomment next line if you want to test with JSESSIONID encoded in the urls - // ((AbstractSessionManager) bb.getSessionHandler().getSessionManager()).setUsingCookies(false); + // ((AbstractSessionManager) + // bb.getSessionHandler().getSessionManager()).setUsingCookies(false); server.setHandler(bb); MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); MBeanContainer mBeanContainer = new MBeanContainer(mBeanServer); - server.getContainer().addEventListener(mBeanContainer); + server.addEventListener(mBeanContainer); + server.addBean(mBeanContainer); try { - mBeanContainer.start(); server.start(); server.join(); }
