users@jersey.java.net

[Jersey] WARN logs too verbose because of PathParam parsing

From: Victor Noel <victor.noel_at_gmail.com>
Date: Tue, 31 Jan 2017 09:58:29 +0100

Hi,

I have this kind of resource defined (I am using Jersey 2.25 with
dropwizard 1.0.5):

@RequestScoped
@Path("/workspaces/{wsId}")
public class WorkspaceResource {

    private final long wsId;

    @Inject
    public WorkspaceResource(@PathParam("wsId") @Min(1) long wsId) {
        this.wsId = wsId;
    }
    ...
}

And if I try to call GET on /workspaces/lol (so, not a number), I get a
huge quantity of stacktraces in the logs about the fact "lol" is not a
number.
I was wondering if there was any way to reduce such logging, since it does
not really make sense to show so much for this kind of problem.

Thanks!

Here is the stacktrace:
WARN [2017-01-30 16:28:32,105] org.glassfish.jersey.internal.Errors: The
following warnings have been detected: WARNING: Unknown HK2 failure
detected:
MultiException stack 1 of 3
org.glassfish.jersey.server.ParamException$PathParamException: HTTP 404 Not
Found
    at
org.glassfish.jersey.server.internal.inject.PathParamValueFactoryProvider$PathParamValueFactory.provide(PathParamValueFactoryProvider.java:95)
    at
org.glassfish.jersey.server.internal.inject.ParamInjectionResolver.resolve(ParamInjectionResolver.java:134)
    at org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:212)
    at
org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:229)
    at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:358)
    at
org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487)
    at
org.glassfish.jersey.process.internal.RequestScope.findOrCreate(RequestScope.java:162)
    at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2022)
    at
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:774)
    at
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:737)
    at
org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:707)
    at
org.glassfish.jersey.internal.inject.Injections.getOrCreate(Injections.java:172)
    at
org.glassfish.jersey.server.model.MethodHandler$ClassBasedMethodHandler.getInstance(MethodHandler.java:284)
    at
org.glassfish.jersey.server.internal.routing.PushMethodHandlerRouter.apply(PushMethodHandlerRouter.java:74)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:109)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:112)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:112)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:112)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:92)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:61)
    at org.glassfish.jersey.process.internal.Stages.process(Stages.java:197)
    at
org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:318)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
    at
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
    at
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
    at
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
    at
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
    at
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
    at
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
    at
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
    at
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
    at
io.dropwizard.jetty.NonblockingServletHolder.handle(NonblockingServletHolder.java:49)
    at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1772)
    at
io.dropwizard.servlets.ThreadNameFilter.doFilter(ThreadNameFilter.java:34)
    at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
    at
io.dropwizard.jersey.filter.AllowedMethodsFilter.handle(AllowedMethodsFilter.java:50)
    at
io.dropwizard.jersey.filter.AllowedMethodsFilter.doFilter(AllowedMethodsFilter.java:44)
    at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
    at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
    at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224)
    at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
    at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
    at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
    at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
    at
com.codahale.metrics.jetty9.InstrumentedHandler.handle(InstrumentedHandler.java:240)
    at io.dropwizard.jetty.RoutingHandler.handle(RoutingHandler.java:51)
    at
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:462)
    at io.dropwizard.jetty.BiDiGzipHandler.handle(BiDiGzipHandler.java:68)
    at
org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56)
    at
org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169)
    at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
    at org.eclipse.jetty.server.Server.handle(Server.java:534)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
    at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
    at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
    at
org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
    at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
    at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
    at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NumberFormatException: For input string: "lol"
    at
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Long.parseLong(Long.java:589)
    at java.lang.Long.valueOf(Long.java:803)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at
org.glassfish.jersey.server.internal.inject.PrimitiveValueOfExtractor.getValue(PrimitiveValueOfExtractor.java:97)
    at
org.glassfish.jersey.server.internal.inject.PrimitiveValueOfExtractor.extract(PrimitiveValueOfExtractor.java:114)
    at
org.glassfish.jersey.server.internal.inject.PathParamValueFactoryProvider$PathParamValueFactory.provide(PathParamValueFactoryProvider.java:93)
    ... 68 more
MultiException stack 2 of 3
java.lang.IllegalArgumentException: While attempting to resolve the
dependencies of org.ow2.petals.cockpit.server.resources.WorkspaceResource
errors were found
    at
org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:247)
    at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:358)
    at
org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487)
    at
org.glassfish.jersey.process.internal.RequestScope.findOrCreate(RequestScope.java:162)
    at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2022)
    at
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:774)
    at
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:737)
    at
org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:707)
    at
org.glassfish.jersey.internal.inject.Injections.getOrCreate(Injections.java:172)
    at
org.glassfish.jersey.server.model.MethodHandler$ClassBasedMethodHandler.getInstance(MethodHandler.java:284)
    at
org.glassfish.jersey.server.internal.routing.PushMethodHandlerRouter.apply(PushMethodHandlerRouter.java:74)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:109)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:112)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:112)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:112)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:92)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:61)
    at org.glassfish.jersey.process.internal.Stages.process(Stages.java:197)
    at
org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:318)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
    at
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
    at
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
    at
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
    at
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
    at
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
    at
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
    at
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
    at
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
    at
io.dropwizard.jetty.NonblockingServletHolder.handle(NonblockingServletHolder.java:49)
    at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1772)
    at
io.dropwizard.servlets.ThreadNameFilter.doFilter(ThreadNameFilter.java:34)
    at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
    at
io.dropwizard.jersey.filter.AllowedMethodsFilter.handle(AllowedMethodsFilter.java:50)
    at
io.dropwizard.jersey.filter.AllowedMethodsFilter.doFilter(AllowedMethodsFilter.java:44)
    at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
    at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
    at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224)
    at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
    at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
    at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
    at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
    at
com.codahale.metrics.jetty9.InstrumentedHandler.handle(InstrumentedHandler.java:240)
    at io.dropwizard.jetty.RoutingHandler.handle(RoutingHandler.java:51)
    at
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:462)
    at io.dropwizard.jetty.BiDiGzipHandler.handle(BiDiGzipHandler.java:68)
    at
org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56)
    at
org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169)
    at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
    at org.eclipse.jetty.server.Server.handle(Server.java:534)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
    at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
    at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
    at
org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
    at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
    at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
    at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
    at java.lang.Thread.run(Thread.java:745)
MultiException stack 3 of 3
java.lang.IllegalStateException: Unable to perform operation: resolve on
org.ow2.petals.cockpit.server.resources.WorkspaceResource
    at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:387)
    at
org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487)
    at
org.glassfish.jersey.process.internal.RequestScope.findOrCreate(RequestScope.java:162)
    at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2022)
    at
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:774)
    at
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:737)
    at
org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:707)
    at
org.glassfish.jersey.internal.inject.Injections.getOrCreate(Injections.java:172)
    at
org.glassfish.jersey.server.model.MethodHandler$ClassBasedMethodHandler.getInstance(MethodHandler.java:284)
    at
org.glassfish.jersey.server.internal.routing.PushMethodHandlerRouter.apply(PushMethodHandlerRouter.java:74)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:109)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:112)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:112)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage._apply(RoutingStage.java:112)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:92)
    at
org.glassfish.jersey.server.internal.routing.RoutingStage.apply(RoutingStage.java:61)
    at org.glassfish.jersey.process.internal.Stages.process(Stages.java:197)
    at
org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:318)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
    at
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
    at
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
    at
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
    at
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
    at
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
    at
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
    at
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
    at
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
    at
io.dropwizard.jetty.NonblockingServletHolder.handle(NonblockingServletHolder.java:49)
    at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1772)
    at
io.dropwizard.servlets.ThreadNameFilter.doFilter(ThreadNameFilter.java:34)
    at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
    at
io.dropwizard.jersey.filter.AllowedMethodsFilter.handle(AllowedMethodsFilter.java:50)
    at
io.dropwizard.jersey.filter.AllowedMethodsFilter.doFilter(AllowedMethodsFilter.java:44)
    at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
    at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
    at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224)
    at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
    at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
    at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
    at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
    at
com.codahale.metrics.jetty9.InstrumentedHandler.handle(InstrumentedHandler.java:240)
    at io.dropwizard.jetty.RoutingHandler.handle(RoutingHandler.java:51)
    at
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:462)
    at io.dropwizard.jetty.BiDiGzipHandler.handle(BiDiGzipHandler.java:68)
    at
org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56)
    at
org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169)
    at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
    at org.eclipse.jetty.server.Server.handle(Server.java:534)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
    at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
    at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
    at
org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
    at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
    at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
    at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
    at java.lang.Thread.run(Thread.java:745)