为 @Timed 指标获取 2 个相同的拦截器和动态方法匹配器-spring

get the 2 identical interceptorsAndDynamicMethodMatchers for @Timed metrics-spring

我正在使用 Spring 4.2.5,Jersey 2.22.2,Tomcat 8.0,io.dropwizard.metrics 3.1.2,指标-spring 3.1.2

我在使用@Timed注解,发现对于方法调用,interceptorsAndDynamicMethodMatchers中有两个TimedMethodInterceptor。它最终使实际方法调用的计数加倍。

如果我 运行 在 Intellij IDEA 中使用 Jetty Runner 的同一个 Web 应用程序,我看不到问题。有什么线索吗?

刚刚调试了一下,有两个带有Timed注解的BeanPostProcessor。

我终于弄明白是什么原因造成的了。 Tomcat 解压缩 war 文件并在 Catalinahome/webapps 和 Catalinahome/work 目录中创建目录,这不知何故导致了问题。如果我将 unpackWARs 属性设置为 "false",问题就消失了。