我有一个Talend
进程,部署在.war
应用服务器的Tomcat
文件中。 .war
里面有几个工作,使用get请求调用,就像" http://server:port/TalendProject/method=runJob"一样。
没有Talend
的商业许可证(目前使用Open Studio)我无法在执行过程中控制作业是否失败。
我知道我可以检查日志,但不知道我正在使用的系统,我无法确定作业是否已经失败或仍在运行(例如在例外之后)。
我的问题是,是否有任何方法可以监控Tomcat
内运行的作业,如果有任何方法可以显示正在运行的进程。
我的猜测,但我不确定自Talend
Talend
.war
{{}}} {{}}} {{}}} {{}}看是java调用这个.war
,下面的所有内容都将被隐藏。
答案 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活动,分析,线程转储......也许它可以帮助你理解。