Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Servlet启动&;监视轮询过程_Java_Tomcat_Servlets_Process Monitoring - Fatal编程技术网

Java Servlet启动&;监视轮询过程

Java Servlet启动&;监视轮询过程,java,tomcat,servlets,process-monitoring,Java,Tomcat,Servlets,Process Monitoring,我有一个Web应用程序,它包含一个轮询进程(无限while循环),当Tomcat服务启动时,Servlet会启动该进程 <load-on-startup>0</load-on-startup> 0 这很好用 如果这是一个Unix进程,那么我可以使用以下命令行检查它: ps -ef | grep <myProcess> ps-ef | grep 在Servlet中有什么(简单的)东西可以用来监视我的轮询过程的状态吗 编辑 为了澄清,我真正想看到的是进程仍

我有一个Web应用程序,它包含一个轮询进程(无限while循环),当Tomcat服务启动时,Servlet会启动该进程

<load-on-startup>0</load-on-startup>
0
这很好用

如果这是一个Unix进程,那么我可以使用以下命令行检查它:

ps -ef | grep <myProcess>
ps-ef | grep
在Servlet中有什么(简单的)东西可以用来监视我的轮询过程的状态吗

编辑


为了澄清,我真正想看到的是进程仍然在运行,并且没有停止。

IMHO,您不应该在该用例中使用Servlet,而应该使用ServletContextListener。在其
上下文初始化(ServletContextEvent sce)
中,侦听器应:

  • 启动轮询服务线程
  • 在ServletContext属性中放入一个对象,该对象包含来自轮询线程的状态(上次操作日期、每次操作数…)(并且具有同步机制)

然后,侦听器可以在其
上下文销毁(ServletContextEvent sce)
中停止轮询线程,任何servlet(包括JSP)都可以从ServletContext获取轮询线程的状态。

您可以执行命令
“ps-ef | grep”
也来自Java。使用servlet
doGet
方法返回有关工作线程的一些重要统计信息。您可以检查线程的活动状态;或者你的线程可能会在每次醒来时更新一些统计信息。谢谢你。我自己也考虑过类似的事情,可能会沿着这条路线走下去。谢谢Serge,我将对此进行更多的研究,看看我能发现/想出什么。你有没有一个例子或一个链接,其中有一个?一个upadate-我今天完成了我的WebListener代码(很好地开始了它并使它工作起来)。再次感谢你的帮助,谢尔盖