是否有可能检查Tomcat中.war内部运行的是什么?

时间:2015-09-18 10:03:21

标签: java tomcat war talend

我有一个Talend进程,部署在.war应用服务器的Tomcat文件中。 .war里面有几个工作,使用get请求调用,就像" http://server:port/TalendProject/method=runJob"一样。

没有Talend的商业许可证(目前使用Open Studio)我无法在执行过程中控制作业是否失败。

我知道我可以检查日志,但不知道我正在使用的系统,我无法确定作业是否已经失败或仍在运行(例如在例外之后)。

我的问题是,是否有任何方法可以监控Tomcat内运行的作业,如果有任何方法可以显示正在运行的进程。

我的猜测,但我不确定自Talend Talend .war {{}}} {{}}} {{}}} {{}}看是java调用这个.war,下面的所有内容都将被隐藏。

1 个答案:

答案 0 :(得分:3)

我对 Talend 一无所知,但我认为您可以使用 JConsole 或更好的 VisualVm 来监控您的Tomcat服务器通过JMX代理。为了监视任何Java应用程序(如Tomcat),如果tomcat在localhost中运行,则必须使用-Dcom.sun.management.jmxremote调用它。

如果Tomcat在另一台主机上运行,​​则需要至少配置端口JMX属性-Dcom.sun.management.jmxremote.port=XXXX

要添加这些属性以运行tomcat,您必须更改位于CATALINA_OPTS$TOMACT_HOME\bin\catalina.sh文件中的$TOMACT_HOME\bin\catalina.bat变量。

您有关于Java JMX代理监控here

的完整文档

这样你可以监视线程,内存消耗,gc活动,分析,线程转储......也许它可以帮助你理解。