我需要監視java應用程序,我正在使用javamelody。更改javamelody的存儲目錄
但問題是,我必須得到javamelody的數據,以便我可以在另一個屏幕上顯示它。我知道javamelody將其rdd文件存儲在temp/javamelody目錄中,現在我需要將存儲目錄更改爲另一個路徑,以便從該路徑獲取數據。
可以這樣做嗎?
謝謝
我需要監視java應用程序,我正在使用javamelody。更改javamelody的存儲目錄
但問題是,我必須得到javamelody的數據,以便我可以在另一個屏幕上顯示它。我知道javamelody將其rdd文件存儲在temp/javamelody目錄中,現在我需要將存儲目錄更改爲另一個路徑,以便從該路徑獲取數據。
可以這樣做嗎?
謝謝
哦,我想我已經找到了答案 我只需要設置命令行或XML文件中的tomcat我這樣
<?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
在這種情況下,它被稱爲「上下文參數」(在'context.xml'文件中設置),而不是命令行選項:)很高興你已經管理,歡呼;) –
春天引導
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);
}
,那麼你可以設置javam elody.storage目錄中application.properties
在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。欲瞭解更多信息,請參閱the JavaMelody user guide。
'java -Djava.io.tmpdir =/new/tmp yourjar'(在Linux上)或設置'%TMP%'(在Windows上)應該可以做到。 –
該命令只能用於具有主類的項目。 javamelody是一個庫,它沒有任何主類。如何使用沒有主類的庫類的命令? – Algorithman
哈,甚至更好:http://code.google.com/p/javamelody/wiki/UserGuide並滾動到「存儲目錄」,這看起來像你想要的。 –