gpt4 book ai didi

java - Dropwizard + jersey:原因:java.lang.IllegalStateException:不在请求范围内。为资源

转载 作者:太空宇宙 更新时间:2023-11-04 11:43:25 25 4
gpt4 key购买 nike

我在现有资源中添加了一种新方法来获取单一产品,此后,我的dropwizard应用程序没有启动并抛出以下错误:-

Caused by: java.lang.IllegalStateException: Not inside a request scope.
at jersey.repackaged.com.google.common.base.Preconditions.checkState(Preconditions.java:173)
at org.glassfish.jersey.process.internal.RequestScope.current(RequestScope.java:233)
at org.glassfish.jersey.process.internal.RequestScope.findOrCreate(RequestScope.java:158)
at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2020)
... 63 more




WARN  [2017-03-03 06:12:12,334] /: unavailable
! java.lang.IllegalStateException: Not inside a request scope.
! at jersey.repackaged.com.google.common.base.Preconditions.checkState(Preconditions.java:173)
! at org.glassfish.jersey.process.internal.RequestScope.current(RequestScope.java:233)
! at org.glassfish.jersey.process.internal.RequestScope.findOrCreate(RequestScope.java:158)
! at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2020)
! ... 63 common frames omitted
! Causing: org.glassfish.hk2.api.MultiException: A MultiException has 1 exceptions. They are:
! 1. java.lang.IllegalStateException: Not inside a request scope.
!
! at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2026)
! at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:766)
! at org.jvnet.hk2.internal.ServiceLocatorImpl.getUnqualifiedService(ServiceLocatorImpl.java:773)
! at org.jvnet.hk2.internal.IterableProviderImpl.get(IterableProviderImpl.java:111)
! at org.glassfish.jersey.server.internal.inject.AbstractContainerRequestValueFactory.getContainerRequest(AbstractContainerRequestValueFactory.java:71)
! at org.glassfish.jersey.server.internal.inject.PathParamValueFactoryProvider$PathParamValueFactory.provide(PathParamValueFactoryProvider.java:93)
! at org.glassfish.jersey.server.internal.inject.ParamInjectionResolver.resolve(ParamInjectionResolver.java:134)
! at org.jvnet.hk2.internal.Utilities.justInject(Utilities.java:961)
! at org.jvnet.hk2.internal.ServiceLocatorImpl.inject(ServiceLocatorImpl.java:980)
! at org.jvnet.hk2.internal.ServiceLocatorImpl.inject(ServiceLocatorImpl.java:970)
! at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:617)
! at org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:184)
! at org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:350)
! at org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:347)
! 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.processWithException(Errors.java:255)
! at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:347)
! at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:392)
! at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:177)
! at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:369)
! at javax.servlet.GenericServlet.init(GenericServlet.java:244)
! at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:640)
! at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:419)
! at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:875)
! at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:349)
! at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:772)
! at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:262)
! at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
! at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
! at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106)
! at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
! at com.codahale.metrics.jetty9.InstrumentedHandler.doStart(InstrumentedHandler.java:103)
! at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
! at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
! at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
! at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
! at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
! at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
! at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106)
! at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
! at org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:231)
! at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
! at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
! at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106)
! at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
! at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
! at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
! at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106)
! at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
! at org.eclipse.jetty.server.handler.StatisticsHandler.doStart(StatisticsHandler.java:252)
! at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
! at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
! at org.eclipse.jetty.server.Server.start(Server.java:411)
! at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106)
! at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
! at org.eclipse.jetty.server.Server.doStart(Server.java:378)
! at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
! at io.dropwizard.cli.ServerCommand.run(ServerCommand.java:53)
! at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:44)
! at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:85)
! at io.dropwizard.cli.Cli.run(Cli.java:75)


```

下面是我的get方法的代码,使用它引发异常:-

@GET
@PathParam("{id}")
@Timed
public Response get(@PathParam("id") String id){
Response.ResponseBuilder response = null;
BaseResponse productResponse = new BaseResponse();
try {
Product product = productService.get(id);
if(product != null)
{
productResponse.setOutput(product);
response.status(200).entity(productResponse);

}
}catch (EntityNotPresentException e){
AppError appError = new AppError();
appError.setCode(50001);
appError.setMessage(e.getMessage());
productResponse.setError(appError);
response.status(500).entity(productResponse);
}

return response.build();
}

最佳答案

我刚刚复制了代码,并使用存根代码在IntelliJ中运行了您的代码,但遇到了相同的错误。花了一些时间进行调试之后,我发现您正在使用@Path注释,而不是get方法上的@PathParam注释。当我将其更改为正确的@Path注释时。它为我工作。

让我知道是否可以解决您的问题。

关于java - Dropwizard + jersey:原因:java.lang.IllegalStateException:不在请求范围内。为资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42572033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com