0

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

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

哪个工作正常。

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

ps -ef | grep <myProcess>

是否有任何东西(简单)可用于 Servlet 来监视我的轮询过程的状态?

编辑

澄清一下,我真正想看到的是该过程仍在运行并且没有停止。

4

1 回答 1

1

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

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

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

于 2014-09-30T12:02:21.007 回答