Skip to content

Commit 397d52a

Browse files
bclozelrstoyanchev
authored andcommitted
Upgrade to Jetty 9.1.0 .RC0
This commit upgrades Jetty to the latest available 9.1.x version while also preserving compatibility with 9.0.x.
1 parent 75e61cc commit 397d52a

File tree

4 files changed

+32
-20
lines changed

4 files changed

+32
-20
lines changed

build.gradle

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -388,8 +388,10 @@ project("spring-messaging") {
388388
optional("com.fasterxml.jackson.core:jackson-databind:2.2.0")
389389
optional("org.projectreactor:reactor-core:1.0.0.BUILD-SNAPSHOT")
390390
optional("org.projectreactor:reactor-tcp:1.0.0.BUILD-SNAPSHOT")
391-
optional("org.eclipse.jetty.websocket:websocket-server:9.0.5.v20130815")
392-
optional("org.eclipse.jetty.websocket:websocket-client:9.0.5.v20130815")
391+
optional("org.eclipse.jetty.websocket:websocket-server:9.1.0.RC0") {
392+
exclude group: "javax.servlet", module: "javax.servlet-api"
393+
}
394+
optional("org.eclipse.jetty.websocket:websocket-client:9.1.0.RC0")
393395
testCompile(project(":spring-test"))
394396
testCompile("com.thoughtworks.xstream:xstream:1.4.4")
395397
testCompile("commons-dbcp:commons-dbcp:1.2.2")
@@ -401,8 +403,8 @@ project("spring-messaging") {
401403
exclude group: "org.springframework", module: "spring-context"
402404
}
403405
testCompile("org.apache.activemq:activemq-stomp:5.8.0")
404-
testCompile("org.eclipse.jetty:jetty-webapp:9.0.5.v20130815") {
405-
exclude group: "org.eclipse.jetty.orbit", module: "javax.servlet"
406+
testCompile("org.eclipse.jetty:jetty-webapp:9.1.0.RC0") {
407+
exclude group: "javax.servlet", module: "javax.servlet-api"
406408
}
407409
testCompile("org.apache.tomcat.embed:tomcat-embed-core:8.0.0-RC3")
408410
testCompile("org.apache.tomcat.embed:tomcat-embed-logging-juli:8.0.0-RC3")
@@ -558,11 +560,11 @@ project("spring-web") {
558560
optional("org.codehaus.jackson:jackson-mapper-asl:1.9.12")
559561
optional("com.fasterxml.jackson.core:jackson-databind:2.2.0")
560562
optional("taglibs:standard:1.1.2")
561-
optional("org.eclipse.jetty:jetty-servlet:9.0.5.v20130815") {
562-
exclude group: "org.eclipse.jetty.orbit", module: "javax.servlet"
563+
optional("org.eclipse.jetty:jetty-servlet:9.1.0.RC0") {
564+
exclude group: "javax.servlet", module: "javax.servlet-api"
563565
}
564-
optional("org.eclipse.jetty:jetty-server:9.0.5.v20130815") {
565-
exclude group: "org.eclipse.jetty.orbit", module: "javax.servlet"
566+
optional("org.eclipse.jetty:jetty-server:9.1.0.RC0") {
567+
exclude group: "javax.servlet", module: "javax.servlet-api"
566568
}
567569
optional("log4j:log4j:1.2.17")
568570
testCompile(project(":spring-context-support")) // for JafMediaTypeFactory
@@ -591,11 +593,13 @@ project("spring-websocket") {
591593
}
592594
optional("org.glassfish.tyrus:tyrus-websocket-core:1.2.1")
593595
optional("org.glassfish.tyrus:tyrus-container-servlet:1.2.1")
594-
optional("org.eclipse.jetty:jetty-webapp:9.0.5.v20130815") {
595-
exclude group: "org.eclipse.jetty.orbit", module: "javax.servlet"
596+
optional("org.eclipse.jetty:jetty-webapp:9.1.0.RC0") {
597+
exclude group: "javax.servlet", module: "javax.servlet"
598+
}
599+
optional("org.eclipse.jetty.websocket:websocket-server:9.1.0.RC0") {
600+
exclude group: "javax.servlet", module: "javax.servlet"
596601
}
597-
optional("org.eclipse.jetty.websocket:websocket-server:9.0.5.v20130815")
598-
optional("org.eclipse.jetty.websocket:websocket-client:9.0.5.v20130815")
602+
optional("org.eclipse.jetty.websocket:websocket-client:9.1.0.RC0")
599603
optional("com.fasterxml.jackson.core:jackson-databind:2.2.0")
600604
optional("org.codehaus.jackson:jackson-mapper-asl:1.9.12")
601605
testCompile("org.apache.tomcat.embed:tomcat-embed-core:8.0.0-RC3")
@@ -687,11 +691,11 @@ project("spring-webmvc") {
687691
exclude group: "xom", module: "xom"
688692
exclude group: "xerces", module: "xercesImpl"
689693
}
690-
testCompile("org.eclipse.jetty:jetty-servlet:8.1.5.v20120716") {
691-
exclude group: "org.eclipse.jetty.orbit", module: "javax.servlet"
694+
testCompile("org.eclipse.jetty:jetty-servlet:9.1.0.RC0") {
695+
exclude group: "javax.servlet", module: "javax.servlet"
692696
}
693-
testCompile("org.eclipse.jetty:jetty-server:8.1.5.v20120716") {
694-
exclude group: "org.eclipse.jetty.orbit", module: "javax.servlet"
697+
testCompile("org.eclipse.jetty:jetty-server:9.1.0.RC0") {
698+
exclude group: "javax.servlet", module: "javax.servlet"
695699
}
696700
testCompile("javax.validation:validation-api:1.0.0.GA")
697701
testCompile("commons-fileupload:commons-fileupload:1.2")

spring-web/src/test/java/org/springframework/http/client/AbstractJettyServerTestCase.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ public static void startJettyServer() throws Exception {
5353
ServletContextHandler handler = new ServletContextHandler();
5454
handler.setContextPath("/");
5555

56-
handler.addServlet(new ServletHolder(new EchoServlet()), "/echo");
5756
handler.addServlet(new ServletHolder(new EchoServlet()), "/echo");
5857
handler.addServlet(new ServletHolder(new StatusServlet(200)), "/status/ok");
5958
handler.addServlet(new ServletHolder(new StatusServlet(404)), "/status/notfound");

spring-websocket/src/main/java/org/springframework/web/socket/server/support/JettyRequestUpgradeStrategy.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
import org.eclipse.jetty.websocket.api.extensions.ExtensionConfig;
3131
import org.eclipse.jetty.websocket.server.HandshakeRFC6455;
3232
import org.eclipse.jetty.websocket.server.WebSocketServerFactory;
33+
import org.eclipse.jetty.websocket.servlet.ServletUpgradeRequest;
34+
import org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse;
3335
import org.eclipse.jetty.websocket.servlet.WebSocketCreator;
3436
import org.springframework.core.NamedThreadLocal;
3537
import org.springframework.http.server.ServerHttpRequest;
@@ -81,7 +83,14 @@ public JettyRequestUpgradeStrategy(WebSocketServerFactory factory) {
8183
Assert.notNull(factory, "WebSocketServerFactory is required");
8284
this.factory = factory;
8385
this.factory.setCreator(new WebSocketCreator() {
86+
8487
@Override
88+
public Object createWebSocket(ServletUpgradeRequest request, ServletUpgradeResponse response) {
89+
// Cast to avoid infinite recursion
90+
return createWebSocket((UpgradeRequest) request, (UpgradeResponse) response);
91+
}
92+
93+
// For Jetty 9.0.x
8594
public Object createWebSocket(UpgradeRequest request, UpgradeResponse response) {
8695

8796
WebSocketHandlerContainer container = wsContainerHolder.get();

spring-websocket/src/test/java/org/springframework/web/socket/client/jetty/JettyWebSocketClientTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121

2222
import org.eclipse.jetty.server.Server;
2323
import org.eclipse.jetty.server.ServerConnector;
24-
import org.eclipse.jetty.websocket.api.UpgradeRequest;
25-
import org.eclipse.jetty.websocket.api.UpgradeResponse;
24+
import org.eclipse.jetty.websocket.servlet.ServletUpgradeRequest;
25+
import org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse;
2626
import org.eclipse.jetty.websocket.servlet.WebSocketCreator;
2727
import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
2828
import org.junit.After;
@@ -107,7 +107,7 @@ public TestJettyWebSocketServer(int port, final WebSocketHandler webSocketHandle
107107
public void configure(WebSocketServletFactory factory) {
108108
factory.setCreator(new WebSocketCreator() {
109109
@Override
110-
public Object createWebSocket(UpgradeRequest req, UpgradeResponse resp) {
110+
public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) {
111111
if (!CollectionUtils.isEmpty(req.getSubProtocols())) {
112112
resp.setAcceptedSubProtocol(req.getSubProtocols().get(0));
113113
}

0 commit comments

Comments
 (0)