From 4f026d3cae2d252cabe199e626289f2fc8b7b7d8 Mon Sep 17 00:00:00 2001 From: Jochen Schalanda Date: Thu, 21 Sep 2023 23:43:11 +0200 Subject: [PATCH] Fix Jetty 12/Jakarta EE 10 InstrumentedEE10Handler --- .../metrics/jetty12/ee10/InstrumentedEE10Handler.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/metrics-jetty12-ee10/src/main/java/io/dropwizard/metrics/jetty12/ee10/InstrumentedEE10Handler.java b/metrics-jetty12-ee10/src/main/java/io/dropwizard/metrics/jetty12/ee10/InstrumentedEE10Handler.java index 58a271703b..e9dbebf29b 100644 --- a/metrics-jetty12-ee10/src/main/java/io/dropwizard/metrics/jetty12/ee10/InstrumentedEE10Handler.java +++ b/metrics-jetty12-ee10/src/main/java/io/dropwizard/metrics/jetty12/ee10/InstrumentedEE10Handler.java @@ -8,8 +8,8 @@ import org.eclipse.jetty.ee10.servlet.AsyncContextState; import org.eclipse.jetty.ee10.servlet.ServletApiRequest; import org.eclipse.jetty.ee10.servlet.ServletApiResponse; +import org.eclipse.jetty.ee10.servlet.ServletChannelState; import org.eclipse.jetty.ee10.servlet.ServletContextRequest; -import org.eclipse.jetty.ee10.servlet.ServletRequestState; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Response; @@ -85,7 +85,7 @@ public boolean handle(Request request, Response response, Callback callback) thr activeDispatches.inc(); final long start; - final ServletRequestState state = servletContextRequest.getServletRequestState(); + final ServletChannelState state = servletContextRequest.getServletRequestState(); if (state.isInitial()) { // new request activeRequests.inc(); @@ -95,7 +95,7 @@ public boolean handle(Request request, Response response, Callback callback) thr // resumed request start = System.currentTimeMillis(); activeSuspended.dec(); - if (state.getState() == ServletRequestState.State.HANDLING) { + if (state.getState() == ServletChannelState.State.HANDLING) { asyncDispatches.mark(); } } @@ -165,7 +165,10 @@ public void onComplete(AsyncEvent event) throws IOException { final ServletApiRequest request = (ServletApiRequest) state.getRequest(); final ServletApiResponse response = (ServletApiResponse) state.getResponse(); updateResponses(request.getRequest(), response.getResponse(), startTime, true); - if (!state.getServletChannelState().isSuspended()) { + + final ServletContextRequest servletContextRequest = Request.as(request.getRequest(), ServletContextRequest.class); + final ServletChannelState servletRequestState = servletContextRequest.getServletRequestState(); + if (!servletRequestState.isSuspended()) { activeSuspended.dec(); } }