Skip to content

Commit eb17102

Browse files
Upgrade service framework to support jakarta (JEE 9) (#109)
* updated framework dep * bump version * test suppression * revert suppression test * test suppression
1 parent 100e1a7 commit eb17102

File tree

9 files changed

+37
-32
lines changed

9 files changed

+37
-32
lines changed

owasp-suppressions.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<suppressions xmlns="https://jeremylong.github.io/DependencyCheck/dependency-suppression.1.3.xsd">
3+
<suppress>
4+
<notes><![CDATA[
5+
file name: jetty-http-11.0.20.jar
6+
]]></notes>
7+
<packageUrl regex="true">^pkg:maven/org\.eclipse\.jetty/jetty\-.*@.*$</packageUrl>
8+
<cve>CVE-2024-8184</cve>
9+
<cve>CVE-2024-6763</cve>
10+
</suppress>
311
</suppressions>

platform-http-service-framework/build.gradle.kts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,17 @@ dependencies {
77
api(project(":platform-service-framework"))
88
api("org.hypertrace.core.grpcutils:grpc-client-utils:0.13.7")
99
api("com.typesafe:config:1.4.2")
10-
api("javax.servlet:javax.servlet-api:4.0.1")
11-
api("com.google.inject:guice:5.1.0")
10+
api("jakarta.servlet:jakarta.servlet-api:6.0.0")
11+
api("com.google.inject:guice:7.0.0")
1212
api(project(":service-framework-spi"))
1313

1414
implementation(project(":platform-metrics"))
1515
implementation("org.slf4j:slf4j-api:1.7.36")
16-
implementation("com.google.inject.extensions:guice-servlet:5.1.0")
16+
implementation("com.google.inject.extensions:guice-servlet:7.0.0")
1717
implementation("com.google.guava:guava:31.1-jre")
18-
implementation("org.eclipse.jetty:jetty-servlet:9.4.56.v20240826")
19-
implementation("org.eclipse.jetty:jetty-server:9.4.56.v20240826")
20-
implementation("org.eclipse.jetty:jetty-servlets:9.4.56.v20240826")
21-
18+
implementation("org.eclipse.jetty:jetty-servlet:11.0.20")
19+
implementation("org.eclipse.jetty:jetty-server:11.0.20")
20+
implementation("org.eclipse.jetty:jetty-servlets:11.0.20")
2221
annotationProcessor("org.projectlombok:lombok:1.18.24")
2322
compileOnly("org.projectlombok:lombok:1.18.24")
2423
}

platform-http-service-framework/src/main/java/org/hypertrace/core/serviceframework/http/HttpHandlerDefinition.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package org.hypertrace.core.serviceframework.http;
22

33
import com.google.inject.Injector;
4+
import jakarta.servlet.MultipartConfigElement;
5+
import jakarta.servlet.Servlet;
46
import java.util.List;
57
import java.util.Map;
6-
import javax.servlet.MultipartConfigElement;
7-
import javax.servlet.Servlet;
88
import lombok.Builder;
99
import lombok.Singular;
1010
import lombok.Value;

platform-http-service-framework/src/main/java/org/hypertrace/core/serviceframework/http/jetty/JettyHttpServerBuilder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
import com.google.inject.Injector;
88
import com.google.inject.servlet.GuiceFilter;
9+
import jakarta.servlet.DispatcherType;
10+
import jakarta.servlet.ServletContextListener;
911
import java.nio.file.Path;
1012
import java.util.EnumSet;
1113
import java.util.LinkedList;
@@ -15,8 +17,6 @@
1517
import java.util.concurrent.ExecutorService;
1618
import java.util.concurrent.Executors;
1719
import javax.annotation.Nullable;
18-
import javax.servlet.DispatcherType;
19-
import javax.servlet.ServletContextListener;
2020
import org.eclipse.jetty.server.Connector;
2121
import org.eclipse.jetty.server.Handler;
2222
import org.eclipse.jetty.server.HttpConfiguration;

platform-metrics/build.gradle.kts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,19 @@ tasks.test {
1111

1212
dependencies {
1313
api("com.typesafe:config:1.4.2")
14-
api("io.dropwizard.metrics:metrics-core:4.2.16")
14+
api("io.dropwizard.metrics:metrics-jakarta-servlet:4.2.25")
1515
api("io.micrometer:micrometer-core:1.10.2")
16-
api("javax.servlet:javax.servlet-api:3.1.0")
16+
api("jakarta.servlet:jakarta.servlet-api:6.0.0")
1717

1818
implementation("io.micrometer:micrometer-registry-prometheus:1.10.2")
1919

2020
implementation("io.github.mweirauch:micrometer-jvm-extras:0.2.2")
2121
implementation("org.slf4j:slf4j-api:1.7.36")
2222
implementation("io.dropwizard.metrics:metrics-jvm:4.2.16")
23-
implementation("io.prometheus:simpleclient_dropwizard:0.12.0")
24-
implementation("io.prometheus:simpleclient_servlet:0.12.0")
25-
implementation("io.prometheus:simpleclient_pushgateway:0.12.0")
26-
implementation("org.eclipse.jetty:jetty-servlet:9.4.56.v20240826")
23+
implementation("io.prometheus:simpleclient_dropwizard:0.16.0")
24+
implementation("io.prometheus:simpleclient_servlet_jakarta:0.16.0")
25+
implementation("io.prometheus:simpleclient_pushgateway:0.16.0")
26+
implementation("org.eclipse.jetty:jetty-servlet:11.0.20")
2727
implementation("com.google.guava:guava:32.0.1-jre")
2828

2929
compileOnly("com.github.ben-manes.caffeine:caffeine:3.1.8")

platform-service-framework/build.gradle.kts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ dependencies {
1818
api("com.typesafe:config:1.4.2")
1919

2020
// Use for thread dump servlet
21-
implementation("io.dropwizard.metrics:metrics-servlets:4.2.16")
22-
implementation("org.eclipse.jetty:jetty-servlet:9.4.56.v20240826")
21+
implementation("io.dropwizard.metrics:metrics-jakarta-servlets:4.2.25")
22+
implementation("org.eclipse.jetty:jetty-servlet:11.0.20")
2323

2424
// Use for metrics servlet
25-
implementation("io.prometheus:simpleclient_servlet:0.12.0")
25+
implementation("io.prometheus:simpleclient_servlet_jakarta:0.16.0")
2626

2727
// http client
2828
implementation("org.apache.httpcomponents:httpclient:4.5.13")
@@ -36,6 +36,4 @@ dependencies {
3636
testImplementation("org.apache.logging.log4j:log4j-slf4j-impl:2.19.0")
3737
testImplementation("org.junit.jupiter:junit-jupiter:5.9.0")
3838
testImplementation("org.mockito:mockito-core:4.8.0")
39-
testImplementation("org.eclipse.jetty:jetty-servlet:9.4.56.v20240826:tests")
40-
testImplementation("org.eclipse.jetty:jetty-http:9.4.56.v20240826:tests")
4139
}

platform-service-framework/src/main/java/org/hypertrace/core/serviceframework/PlatformService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package org.hypertrace.core.serviceframework;
22

3-
import com.codahale.metrics.servlets.CpuProfileServlet;
4-
import com.codahale.metrics.servlets.ThreadDumpServlet;
53
import com.typesafe.config.Config;
64
import com.typesafe.config.ConfigFactory;
7-
import io.prometheus.client.exporter.MetricsServlet;
5+
import io.dropwizard.metrics.servlets.CpuProfileServlet;
6+
import io.dropwizard.metrics.servlets.ThreadDumpServlet;
7+
import io.prometheus.client.servlet.jakarta.exporter.MetricsServlet;
88
import java.net.InetAddress;
99
import java.net.ServerSocket;
1010
import java.net.UnknownHostException;

platform-service-framework/src/main/java/org/hypertrace/core/serviceframework/service/servlets/HealthCheckServlet.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package org.hypertrace.core.serviceframework.service.servlets;
22

3+
import jakarta.servlet.http.HttpServlet;
4+
import jakarta.servlet.http.HttpServletRequest;
5+
import jakarta.servlet.http.HttpServletResponse;
36
import java.io.IOException;
4-
import javax.servlet.http.HttpServlet;
5-
import javax.servlet.http.HttpServletRequest;
6-
import javax.servlet.http.HttpServletResponse;
77
import org.hypertrace.core.serviceframework.PlatformService;
88

99
public class HealthCheckServlet extends HttpServlet {

platform-service-framework/src/main/java/org/hypertrace/core/serviceframework/service/servlets/JVMDiagnosticServlet.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
package org.hypertrace.core.serviceframework.service.servlets;
22

3+
import jakarta.servlet.ServletException;
4+
import jakarta.servlet.http.HttpServlet;
5+
import jakarta.servlet.http.HttpServletRequest;
6+
import jakarta.servlet.http.HttpServletResponse;
37
import java.io.IOException;
48
import java.io.PrintWriter;
59
import java.lang.management.ManagementFactory;
610
import java.util.HashMap;
711
import java.util.Map;
812
import java.util.Map.Entry;
9-
import javax.servlet.ServletException;
10-
import javax.servlet.http.HttpServlet;
11-
import javax.servlet.http.HttpServletRequest;
12-
import javax.servlet.http.HttpServletResponse;
1313
import org.hypertrace.core.serviceframework.jvm.JVMDiagnosticCommand;
1414
import org.hypertrace.core.serviceframework.jvm.JVMDiagnosticCommand.Op;
1515

0 commit comments

Comments
 (0)