启用不带弹簧的测微计TomcatMetrics(如何获取tomcat manager)
我想将Dimmomer TomcatMetrics类插入到一个没有Spring集成的现有tomcat应用程序中 从消息来源看来,只要打个电话启用不带弹簧的测微计TomcatMetrics(如何获取tomcat manager),tomcat,micrometer,Tomcat,Micrometer,我想将Dimmomer TomcatMetrics类插入到一个没有Spring集成的现有tomcat应用程序中 从消息来源看来,只要打个电话 public static void monitor(MeterRegistry registry, @Nullable Manager manager, String... tags) 然而,我似乎不知道如何获得org.apache.catalina.Manager实例 如果没有管理器(null),它可以工作,但是缺少我想要的会话信息 那么,a如何
public static void monitor(MeterRegistry registry, @Nullable Manager manager, String... tags)
然而,我似乎不知道如何获得org.apache.catalina.Manager
实例
如果没有管理器(null),它可以工作,但是缺少我想要的会话信息
那么,a如何以适当的方式掌握它(servletContextListener或其他)
private static Manager manager;
private static synchronized Manager getManager(ServletContext servletContext) {
if (manager == null) {
try {
Field applicationContextField = servletContext.getClass().getDeclaredField("context");
applicationContextField.setAccessible(true);
ApplicationContext appContextObj = (ApplicationContext) applicationContextField.get(servletContext);
Field standardContextField = appContextObj.getClass().getDeclaredField("context");
standardContextField.setAccessible(true);
StandardContext standardContextObj = (StandardContext) standardContextField.get(appContextObj);
manager = standardContextObj.getManager();
} catch (ReflectiveOperationException e) {
throw new RuntimeException(e);
}
}
return manager;
}