我需要监控 java 应用程序,我正在使用 javamelody。
但问题是,我必须获取 javamelody 拥有的数据,以便在另一个屏幕上显示它。我知道 javamelody 将其 rdd 文件存储在 temp/javamelody 目录中,现在我需要将存储目录更改为另一个路径,以便我可以从该路径获取数据。
如何设置 javamelody 的存储目录?
我需要监控 java 应用程序,我正在使用 javamelody。
但问题是,我必须获取 javamelody 拥有的数据,以便在另一个屏幕上显示它。我知道 javamelody 将其 rdd 文件存储在 temp/javamelody 目录中,现在我需要将存储目录更改为另一个路径,以便我可以从该路径获取数据。
如何设置 javamelody 的存储目录?
哦,我想我已经找到了答案,我只需要像这样在我的 tomcat 中设置命令行或 xml 文件
<?xml version="1.0" encoding="UTF-8" ?>
<Context docBase="pathto\appname.war" path="javamelody" reloadable="false" >
<Parameter name='javamelody.storage-directory' value='pathname' override='false'/>
</Context>
谢谢你的帮助:D
在 web.xml 中,使用如下javamelody
参数定义过滤器storage-directory
:
<filter>
<filter-name>javamelody</filter-name>
<filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
<init-param>
<param-name>storage-directory</param-name>
<param-value>/path/to/the/storage/directory</param-value>
</init-param>
</filter>
我使用 JavaMelody 1.60.0 版进行了测试。有关详细信息,请参阅JavaMelody 用户指南。
对于javamelody-spring-boot-starter
javamelody.init-parameters.storage-directory=/tmp/javamelody-${spring.application.name}
对于春季启动
public class JavaMelodyConfiguration implements ServletContextInitializer {
@Value(value="${javamelody.storage-directory}")
String jmStorageDir;
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.addListener(new SessionListener());
servletContext.setInitParameter("javamelody.storage-directory", jmStorageDir);
}
然后你可以在 application.properties 中设置 javamelody.storage-directory