This is an automated email from the ASF dual-hosted git repository.
enapps-enorman pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-discovery-base.git
The following commit(s) were added to refs/heads/master by this push:
new db4dc10 SLING-13215 Bump jetty test dependency from v8.x to v12.x
(#16)
db4dc10 is described below
commit db4dc109066e8c0629a6601e5cbaa9d7315d20fb
Author: Eric Norman <[email protected]>
AuthorDate: Tue May 26 13:39:47 2026 -0700
SLING-13215 Bump jetty test dependency from v8.x to v12.x (#16)
---
pom.xml | 19 +++++++----
.../discovery/base/its/setup/VirtualInstance.java | 37 +++++++++++++---------
2 files changed, 35 insertions(+), 21 deletions(-)
diff --git a/pom.xml b/pom.xml
index 7040f9e..521634d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -176,12 +176,19 @@
<version>3.0.0</version>
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlet</artifactId>
- <version>8.1.2.v20120308</version>
- <scope>test</scope>
- </dependency>
+ <!-- Jetty 12 Server Core & EE8 Servlet Support -->
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-server</artifactId>
+ <version>12.0.35</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty.ee8</groupId>
+ <artifactId>jetty-ee8-servlet</artifactId>
+ <version>12.0.35</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-osgi</artifactId>
diff --git
a/src/test/java/org/apache/sling/discovery/base/its/setup/VirtualInstance.java
b/src/test/java/org/apache/sling/discovery/base/its/setup/VirtualInstance.java
index 73081d9..b9699e4 100644
---
a/src/test/java/org/apache/sling/discovery/base/its/setup/VirtualInstance.java
+++
b/src/test/java/org/apache/sling/discovery/base/its/setup/VirtualInstance.java
@@ -51,11 +51,12 @@ import
org.apache.sling.discovery.base.connectors.ping.TopologyConnectorClientIn
import
org.apache.sling.discovery.base.connectors.ping.TopologyConnectorServlet;
import org.apache.sling.discovery.base.its.setup.mock.ArtificialDelay;
import org.apache.sling.testing.mock.sling.junit.SlingContext;
+import org.eclipse.jetty.ee8.servlet.ServletContextHandler;
+import org.eclipse.jetty.ee8.servlet.ServletHolder;
import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.NetworkConnector;
import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.nio.SelectChannelConnector;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.server.ServerConnector;
import org.osgi.framework.Constants;
import org.osgi.service.component.ComponentContext;
import org.osgi.service.http.HttpContext;
@@ -89,8 +90,6 @@ public class VirtualInstance {
private ViewCheckerRunner viewCheckerRunner = null;
- private ServletContextHandler servletContext;
-
private Server jettyServer;
private ModifiableTestBaseConfig config;
@@ -245,8 +244,18 @@ public class VirtualInstance {
if (jettyServer!=null) {
return;
}
- servletContext = new
ServletContextHandler(ServletContextHandler.NO_SECURITY);
- servletContext.setContextPath("/");
+
+ // 1. Create the Server instance
+ jettyServer = new Server();
+
+ // 2. Add a Connector (port 0 finds an available ephemeral port)
+ ServerConnector connector = new ServerConnector(jettyServer);
+ connector.setPort(0);
+ jettyServer.addConnector(connector);
+
+ // 3. Set up the EE8 Context
+ ServletContextHandler context = new
ServletContextHandler(ServletContextHandler.NO_SECURITY);
+ context.setContextPath("/");
TopologyConnectorServlet servlet = new TopologyConnectorServlet();
PrivateAccessor.setField(servlet, "config", config);
@@ -259,15 +268,13 @@ public class VirtualInstance {
ComponentContext cc = null;
PrivateAccessor.invoke(servlet, "activate", new Class[]
{ComponentContext.class}, new Object[] {cc});
- ServletHolder holder =
- new ServletHolder(servlet);
+ // Add a servlet for testing
+ ServletHolder holder = new ServletHolder(servlet);
+ context.addServlet(holder, "/system/console/topology/*");
- servletContext.addServlet(holder, "/system/console/topology/*");
+ jettyServer.setHandler(context);
- jettyServer = new Server();
- jettyServer.setHandler(servletContext);
- Connector connector=new SelectChannelConnector();
- jettyServer.setConnectors(new Connector[]{connector});
+ // 4. Start the server
jettyServer.start();
}
@@ -276,7 +283,7 @@ public class VirtualInstance {
throw new IllegalStateException("jettyServer not started");
}
final Connector[] connectors = jettyServer.getConnectors();
- return connectors[0].getLocalPort();
+ return ((NetworkConnector)connectors[0]).getLocalPort();
}
public TopologyConnectorClientInformation connectTo(String url) throws
MalformedURLException {