繁体   English   中英

JavaMelody与JRuby on Rails + Tomcat

[英]JavaMelody with JRuby on Rails + Tomcat

我正在尝试将JavaMelody监视添加到Rails 4.0应用程序中,该应用程序将在JRuby和Warbler的帮助下部署到在Windows 2008 R2上运行的Tomcat上。 JavaMelody用户指南中所述 ,我已经将javamelody.jarjrobin-1.5.9.jar都添加到WEB-INF/lib/并且扩展了我们的web.xml基本上也像这样:

<!DOCTYPE web-app PUBLIC
  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

<!-- JavaMelody -->

<filter>
  <filter-name>monitoring</filter-name>
  <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
  <init-param>
    <param-name>log</param-name>
    <param-value>true</param-value>
   </init-param>
</filter>

<filter-mapping>
  <filter-name>monitoring</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

<listener>
  <listener-class>net.bull.javamelody.SessionListener</listener-class>
</listener>

<!-- JRuby-Rack-->

<filter>
  <filter-name>RackFilter</filter-name>
  <filter-class>org.jruby.rack.RackFilter</filter-class>
</filter>

<filter-mapping>
  <filter-name>RackFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

<listener>
  <listener-class>org.jruby.rack.rails.RailsServletContextListener</listener-class>
</listener>

</web-app>

这似乎在一定程度上起作用-似乎记录了监视信息,因为我可以看到创建了一个文件夹<TOMCAT_HOME>\\temp\\javamelody ,并且其中的文件似乎已更新,我对应用程序提出的每个请求均如此。

但不幸的是,实际上无法打开监视报告。 当我转到http://localhost:8080/ourapp/monitoring ,没有得到用户指南中所述的报告页面,而是我们的Rails应用程序的404页面。 Tomcat日志确认JavaMelody monitoring筛选器和SessionListener均已加载,并且似乎未显示任何错误。 我错过了什么?

由于您已将JRuby-Rack映射为处理所有(/ *),因此您要么需要重新安排映射以确保特定路径优先于其他过滤器的处理,例如

<filter-mapping>
  <filter-name>monitoring</filter-name>
  <url-pattern>/monitoring</url-pattern>
</filter-mapping>

或者,如果可以映射所有需要处理的路径,则不将所有内容路由到JRuby-Rack(如果您不介意“替换”容器默认的服务,则可能还需要更改监视过滤器的路径,或者尝试使用RackServlet代替)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM