JavaMelody - JDK 升级后忽略监控路径参数

JavaMelody - monitoring path param is ignored after JDK upgrade

从 Java7 升级到 Java8_u60 后 JavaMelody 在 web.xml 中定义的 monitoring-path 参数被忽略。在日志中不包含任何有用的信息。我正在探索 JavaMelody 指南,但我一无所获。

监控部分定义到路径 www.domain.com/xxx/monitoring,但在 Java 升级后位于默认位置 www.domain.com/monitoring。 有没有人对这个问题有任何经验? 我的 web.xml 配置文件:

<filter>
    <filter-name>javamelody</filter-name>
    <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
    <async-supported>true</async-supported>
    <init-param>
        <param-name>monitoring-path</param-name>
        <param-value>/xxx/monitoring</param-value>
    </init-param>
    <init-param>
        <param-name>url-exclude-pattern</param-name>
        <param-value>/resources/.*</param-value>
    </init-param>

</filter>
<filter-mapping>
    <filter-name>javamelody</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>ASYNC</dispatcher>
</filter-mapping>
<listener>
    <listener-class>net.bull.javamelody.SessionListener</listener-class>
</listener>

使用的技术: JavaMelody 1.57.0,Apache Tomcat7,Spring

正如我在评论中提到的,issue 459.

中描述了解决方案
  • 您可以在 web.xml 中使用 context-param 配置 JavaMelody(默认情况下,JavaMelody 通过其 jar 文件中的 web-fragment.xml 配置,因此通过使用上下文参数,您可以覆盖其设置web.xml)
  • 或者只使用任何其他过滤器名称而不是 "monitoring"(在这种情况下,忽略 web-fragment.xml 中的过滤器设置,但激活应用程序 web.xml 中的设置)