Java Servlet启动&监控轮询过程

时间:2014-09-30 09:01:16

标签: java tomcat servlets process-monitoring

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

<load-on-startup>0</load-on-startup>

哪个工作正常。

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

ps -ef | grep <myProcess>

是否有任何(简单的)可以在Servlet中用于监控我的轮询过程的状态?

编辑

为了澄清,我真正希望看到的是该过程仍在运行且尚未停止。

1 个答案:

答案 0 :(得分:1)

恕我直言,你不应该为那个用例使用Servlet,而应该使用ServletContextListener。在contextInitialized(ServletContextEvent sce)中,听众应该:

  • 启动投票服务主题
  • 在一个ServletContext属性中添加一个对象,该对象包含来自轮询线程的状态(最后操作日期,每个操作数...)(并具有同步机制)

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