我有一个web.xml,它定义了类org.glassfish.jersey.servlet.ServletContainer
的Jersey Servlet,然后使用我自己的应用程序类进行配置,使用以下内容扩展ResourceConfig
:
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.mypackage.AppResourceConfig</param-value>
</init-param>
在我的AppResourceConfig
课程中,我正在构建并注册指标的MetricRegistry
和HealthCheckRegistry
个实例。
现在我想添加一个度量标准的健康检查servlet,就像在https://dropwizard.github.io/metrics/3.1.0/manual/servlets/中描述的那样 - 也就是说,创建度量标准的servlet和监听器,以便为度量标准注册表提供实例。 servlet,例如:
public class MyHealthCheckServletContextListener extends HealthCheckServlet.ContextListener {
public static final HealthCheckRegistry HEALTH_CHECK_REGISTRY = new HealthCheckRegistry();
@Override
protected HealthCheckRegistry getHealthCheckRegistry() {
return HEALTH_CHECK_REGISTRY;
}
}
和(在web.xml中)
<listener>
<listener-class>com.example.MyHealthCheckServletContextListener</listener-class>
</listener>
但采取这种方式意味着我有两个版本。我知道注册表被声明为公共静态,因此我可以直接访问它们,但我不希望这样做。
有没有办法将这些直接注入我自己的servlet AppResourceConfig
类?