Java 将自定义数据从Jersey筛选器服务传递到Jersey端点服务

Java 将自定义数据从Jersey筛选器服务传递到Jersey端点服务,java,jersey,jetty,osgi,Java,Jersey,Jetty,Osgi,我们在一个OSGI环境中使用Jetty Felix HTTP服务器 我们有一个实现Jersey筛选器服务的捆绑包 另一个包实现了Jersey端点类 在筛选器中,我们使用ContainerRequestContext.setProperty()设置了一些自定义属性 我的问题是如何从端点方法访问这些属性 @上下文似乎不能让我访问任何我们可以获取的属性 谢谢实际上,在过滤器中,我们使用ContainerRequestContext.setProperty(key,value) 在端点中,我们可以使用v

我们在一个OSGI环境中使用Jetty Felix HTTP服务器

我们有一个实现Jersey筛选器服务的捆绑包

另一个包实现了Jersey端点类

在筛选器中,我们使用ContainerRequestContext.setProperty()设置了一些自定义属性

我的问题是如何从端点方法访问这些属性

@上下文似乎不能让我访问任何我们可以获取的属性


谢谢

实际上,在过滤器中,我们使用ContainerRequestContext.setProperty(key,value)

在端点中,我们可以使用value=HttpServletRequest.getAttribute(key)检索它

然后我遇到的问题是,我试图将@Context作为类实例注入。但由于它是每个请求的,因此应将其作为函数参数注入,如下所示:

@GET
@Path("/something")
@Produces({MediaType.APPLICATION_JSON})
public AClass getSomething(@Context HttpServletRequest servletRequest) {
   // Retrieve my thing from the filter
   MyThing thing = (MyThing)servletRequest.getAttribute("the-key-to-my-thing");

   return new AClass(mything);
}

您可以改用请求属性吗?它们的目的之一是在过滤器和servlet之间传递属性。我必须有办法从Jetty筛选器和端点访问ServletRequest。