in the process of upgrading our code-base to Java21 (from Java17) I had to upgrade our Jersey version from 3.0.1. I started with the latest one, which currently is: 3.0.16 .
On the client side I'm using the Java-HTTP-client (inlcuded in Java itself). I'm using Temurin as JDK/JRE.
When the services finally started again, I encountered the time-out for POST requests. Therefore I created a simple Maven project that starts a grizzly-http server, and a corresponding client - see https://github.com/divadpoc/grizzly-test .
In the end, I started downgraded step by step until I met version 3.0.11, which works as expected..
Am I missing anything that's necessary to include in my project to get any later version running as well ?
Thanks and BR
Update w/ errors/trace
On the client side I get:
java.net.http.HttpTimeoutException: request timed out
at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:954)
at java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:133)
at com.test.client.Main.main(Main.java:36)
On the server side I get:
Unhandled exception occurred - null
java.io.EOFException
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.read(TCPNIOTransport.java:575)
at org.glassfish.grizzly.nio.transport.TCPNIOTemporarySelectorReader.readNow0(TCPNIOTemporarySelectorReader.java:40)
at org.glassfish.grizzly.nio.tmpselectors.TemporarySelectorReader.read0(TemporarySelectorReader.java:152)
at org.glassfish.grizzly.nio.tmpselectors.TemporarySelectorReader.read0(TemporarySelectorReader.java:109)
at org.glassfish.grizzly.nio.tmpselectors.TemporarySelectorReader.read(TemporarySelectorReader.java:84)
at org.glassfish.grizzly.nio.tmpselectors.TemporarySelectorReader.read(TemporarySelectorReader.java:55)
at org.glassfish.grizzly.AbstractReader.read(AbstractReader.java:43)
at org.glassfish.grizzly.nio.transport.TCPNIOTransportFilter.handleRead(TCPNIOTransportFilter.java:61)
at org.glassfish.grizzly.filterchain.TransportFilter.handleRead(TransportFilter.java:133)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:88)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:246)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:178)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.read(DefaultFilterChain.java:309)
at org.glassfish.grizzly.filterchain.FilterChainContext.read(FilterChainContext.java:662)
at org.glassfish.grizzly.http.io.InputBuffer.blockingRead(InputBuffer.java:1037)
at org.glassfish.grizzly.http.server.io.ServerInputBuffer.blockingRead(ServerInputBuffer.java:70)
at org.glassfish.grizzly.http.io.InputBuffer.fill(InputBuffer.java:1060)
at org.glassfish.grizzly.http.io.InputBuffer.read(InputBuffer.java:307)
at org.glassfish.grizzly.http.server.NIOInputStreamImpl.read(NIOInputStreamImpl.java:60)
at org.glassfish.jersey.message.internal.EntityInputStream.read(EntityInputStream.java:79)
at org.glassfish.jersey.innate.io.InputStreamWrapper.read(InputStreamWrapper.java:54)
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._loadMore(UTF8StreamJsonParser.java:220)
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._skipWSOrEnd2(UTF8StreamJsonParser.java:3110)
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._skipWSOrEnd(UTF8StreamJsonParser.java:3105)
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:716)
at com.fasterxml.jackson.databind.ObjectReader._verifyNoTrailingTokens(ObjectReader.java:2247)
at com.fasterxml.jackson.databind.ObjectReader._bind(ObjectReader.java:2104)
at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1249)
at org.glassfish.jersey.jackson.internal.jackson.jaxrs.base.ProviderBase.readFrom(ProviderBase.java:829)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.invokeReadFrom(ReaderInterceptorExecutor.java:234)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.aroundReadFrom(ReaderInterceptorExecutor.java:213)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:133)
at org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundReadFrom(MappableExceptionWrapperInterceptor.java:49)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:133)
at org.glassfish.jersey.message.internal.MessageBodyFactory.readFrom(MessageBodyFactory.java:1072)
at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:657)
at org.glassfish.jersey.server.ContainerRequest.readEntity(ContainerRequest.java:290)
at org.glassfish.jersey.server.internal.inject.EntityParamValueParamProvider$EntityValueSupplier.apply(EntityParamValueParamProvider.java:73)
at org.glassfish.jersey.server.internal.inject.EntityParamValueParamProvider$EntityValueSupplier.apply(EntityParamValueParamProvider.java:56)
at org.glassfish.jersey.server.spi.internal.ParamValueFactoryWithSource.apply(ParamValueFactoryWithSource.java:50)
at org.glassfish.jersey.server.spi.internal.ParameterValueHelper.getParameterValues(ParameterValueHelper.java:68)
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$AbstractMethodParamInvoker.getParamValues(JavaResourceMethodDispatcherProvider.java:109)
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:176)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:93)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81)
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:256)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:235)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:684)
at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:356)
at org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:190)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:535)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:515)
at java.base/java.lang.Thread.run(Thread.java:1570)
I just tried to use latest 3.1 version (3.1.9) and I'm experiencing the same problem. Doesn't work with latest 3.1, but when downgrading to 3.1.3 it's okay.
in the process of upgrading our code-base to Java21 (from Java17) I had to upgrade our Jersey version from
3.0.1
. I started with the latest one, which currently is:3.0.16
.On the client side I'm using the Java-HTTP-client (inlcuded in Java itself). I'm using Temurin as JDK/JRE.
When the services finally started again, I encountered the time-out for POST requests. Therefore I created a simple Maven project that starts a grizzly-http server, and a corresponding client - see https://github.com/divadpoc/grizzly-test .
In the end, I started downgraded step by step until I met version
3.0.11
, which works as expected..Am I missing anything that's necessary to include in my project to get any later version running as well ?
Thanks and BR
Update w/ errors/trace
On the client side I get:
On the server side I get: