在JAX-RS 2.0中,如何在DynamicFeature中设置FeatureContext上的属性,以便正在注册的提供程序可以读取它?

时间:2015-01-13 21:00:36

标签: jax-rs

我有一个JAX-RS 2.0 DynamicFeature,可以在某些类上注册响应过滤器。

作为该注册的一部分,我希望DynamicFeature实现设置一个属性,然后可以由过滤器实例检索。

看起来我应该能够做到这一点。在我的DynamicFeature实施中,我应该可以致电:

featureContext.property("foo", "bar");

......我的理解是该财产应该是持久的。

然后,在我的过滤器中,我应该能够:

@Context
private Configuration myConfiguration;

...并且应该能够在我的filter方法中读取该属性:

if (this.myConfiguration != null) {
  final Object propertyValue = this.myConfiguration.getProperty("foo");
  if ("bar".equals(propertyValue)) {
    // Hooray
  }
}

但这不起作用。注入我的过滤器的Configuration实例不是null,这很好,但其中包含一个我没有设置的无关属性。

我知道我可以通过使用注入的ServletContext作为中间人来完成类似的事情,但我希望避免在这里使用Servlet API,因为这看起来像" clean&#34 ; JAX-RS机制。

我是否误解了如何使用Configuration DynamicFeature方法中的configure对象?

0 个答案:

没有答案