This is an automated email from the ASF dual-hosted git repository.

dlmarion pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


The following commit(s) were added to refs/heads/main by this push:
     new 881b7915c4 Updated Jakarta EE, Jersey, and Jetty (#5942)
881b7915c4 is described below

commit 881b7915c42f3f6c7901ebd776080a8766268ac9
Author: Dave Marion <[email protected]>
AuthorDate: Tue Nov 18 08:11:11 2025 -0500

    Updated Jakarta EE, Jersey, and Jetty (#5942)
    
    Closes #4828
---
 assemble/pom.xml                                   |  7 ++++++-
 assemble/src/main/resources/LICENSE                |  3 ++-
 pom.xml                                            | 14 ++++++++++----
 server/monitor/pom.xml                             |  6 +++---
 .../apache/accumulo/monitor/EmbeddedWebServer.java |  4 ++--
 .../java/org/apache/accumulo/monitor/Monitor.java  | 22 +++++++++-------------
 6 files changed, 32 insertions(+), 24 deletions(-)

diff --git a/assemble/pom.xml b/assemble/pom.xml
index 9770ffffa1..e45ff3441f 100644
--- a/assemble/pom.xml
+++ b/assemble/pom.xml
@@ -355,7 +355,7 @@
     </dependency>
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-servlet</artifactId>
+      <artifactId>jetty-session</artifactId>
       <optional>true</optional>
     </dependency>
     <dependency>
@@ -363,6 +363,11 @@
       <artifactId>jetty-util</artifactId>
       <optional>true</optional>
     </dependency>
+    <dependency>
+      <groupId>org.eclipse.jetty.ee10</groupId>
+      <artifactId>jetty-ee10-servlet</artifactId>
+      <optional>true</optional>
+    </dependency>
     <dependency>
       <groupId>org.freemarker</groupId>
       <artifactId>freemarker</artifactId>
diff --git a/assemble/src/main/resources/LICENSE 
b/assemble/src/main/resources/LICENSE
index 2c557c3897..9404d474cb 100644
--- a/assemble/src/main/resources/LICENSE
+++ b/assemble/src/main/resources/LICENSE
@@ -730,8 +730,9 @@ to the terms and conditions of the following licenses.
 * org.eclipse.jetty:jetty-io
 * org.eclipse.jetty:jetty-security
 * org.eclipse.jetty:jetty-server
-* org.eclipse.jetty:jetty-servlet
+* org.eclipse.jetty:jetty-session
 * org.eclipse.jetty:jetty-util
+* org.eclipse.jetty.ee10:jetty-ee10-servlet
 * org.glassfish.hk2:hk2-api
 * org.glassfish.hk2:hk2-locator
 * org.glassfish.hk2:hk2-utils
diff --git a/pom.xml b/pom.xml
index d4c35cd1e3..8cab66ba6b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -211,7 +211,7 @@ under the License.
       <dependency>
         <groupId>jakarta.platform</groupId>
         <artifactId>jakarta.jakartaee-bom</artifactId>
-        <version>9.1.0</version>
+        <version>10.0.0</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
@@ -225,7 +225,14 @@ under the License.
       <dependency>
         <groupId>org.eclipse.jetty</groupId>
         <artifactId>jetty-bom</artifactId>
-        <version>11.0.23</version>
+        <version>12.1.1</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.eclipse.jetty.ee10</groupId>
+        <artifactId>jetty-ee10-bom</artifactId>
+        <version>12.1.1</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
@@ -246,8 +253,7 @@ under the License.
       <dependency>
         <groupId>org.glassfish.jersey</groupId>
         <artifactId>jersey-bom</artifactId>
-        <!-- 3.1.0 would require jakarta.ws.rs-api 3.1.0, jakartaee 9 uses 
3.0.0 -->
-        <version>3.0.9</version>
+        <version>3.1.11</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
diff --git a/server/monitor/pom.xml b/server/monitor/pom.xml
index b6b874bda5..1f6e23b7a7 100644
--- a/server/monitor/pom.xml
+++ b/server/monitor/pom.xml
@@ -130,11 +130,11 @@
     </dependency>
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-servlet</artifactId>
+      <artifactId>jetty-util</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-util</artifactId>
+      <groupId>org.eclipse.jetty.ee10</groupId>
+      <artifactId>jetty-ee10-servlet</artifactId>
     </dependency>
     <dependency>
       <groupId>org.glassfish.hk2</groupId>
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 8390a36976..d33a1d6c94 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
@@ -23,13 +23,13 @@ import java.util.EnumSet;
 import org.apache.accumulo.core.conf.AccumuloConfiguration;
 import org.apache.accumulo.core.conf.Property;
 import org.apache.commons.validator.routines.UrlValidator;
+import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
+import org.eclipse.jetty.ee10.servlet.ServletHolder;
 import org.eclipse.jetty.server.AbstractConnectionFactory;
 import org.eclipse.jetty.server.HttpConnectionFactory;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.ServerConnector;
 import org.eclipse.jetty.server.SslConnectionFactory;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
 import org.eclipse.jetty.util.ssl.SslContextFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
index 070b93266d..13f33e415e 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
@@ -86,11 +86,10 @@ import org.apache.accumulo.server.ServerContext;
 import org.apache.accumulo.server.util.TableInfoUtil;
 import org.apache.thrift.transport.TTransportException;
 import org.apache.zookeeper.KeeperException;
+import org.eclipse.jetty.ee10.servlet.ResourceServlet;
+import org.eclipse.jetty.ee10.servlet.ServletHolder;
 import org.eclipse.jetty.io.Connection;
 import org.eclipse.jetty.io.ConnectionStatistics;
-import org.eclipse.jetty.servlet.DefaultServlet;
-import org.eclipse.jetty.servlet.ServletHolder;
-import org.eclipse.jetty.util.resource.Resource;
 import org.glassfish.hk2.api.Factory;
 import org.glassfish.hk2.utilities.binding.AbstractBinder;
 import org.glassfish.jersey.jackson.JacksonFeature;
@@ -365,7 +364,7 @@ public class Monitor extends AbstractServer implements 
Connection.Listener {
       try {
         log.debug("Trying monitor on port {}", port);
         server = new EmbeddedWebServer(this, port);
-        server.addServlet(getDefaultServlet(), "/resources/*");
+        server.addServlet(getResourcesServlet(), "/resources/*");
         server.addServlet(getRestServlet(), "/rest/*");
         server.addServlet(getRestV2Servlet(), "/rest-v2/*");
         server.addServlet(getViewServlet(), "/*");
@@ -460,15 +459,12 @@ public class Monitor extends AbstractServer implements 
Connection.Listener {
     log.info("stop requested. exiting ... ");
   }
 
-  private ServletHolder getDefaultServlet() {
-    return new ServletHolder(new DefaultServlet() {
-      private static final long serialVersionUID = 1L;
-
-      @Override
-      public Resource getResource(String pathInContext) {
-        return Resource.newClassPathResource("/org/apache/accumulo/monitor" + 
pathInContext);
-      }
-    });
+  private ServletHolder getResourcesServlet() {
+    ServletHolder holder = new ServletHolder("resources", 
ResourceServlet.class);
+    holder.setInitParameter("dirAllowed", "false");
+    holder.setInitParameter("baseResource",
+        Monitor.class.getResource("resources").toExternalForm());
+    return holder;
   }
 
   public static class MonitorFactory extends AbstractBinder implements 
Factory<Monitor> {

Reply via email to