有没有办法以编程方式暂停Tomcat监听http端口

时间:2011-12-22 03:30:05

标签: java tomcat

当Tomcat应用程序服务器启动时,我需要在收听传入的HTTP请求之前确保所有其他接口设备都处于联机状态。有没有办法从java编程?

3 个答案:

答案 0 :(得分:1)

执行此操作的一种方法是将与http连接器关联的线程池的大小设置为零(minSpareThreads),然后使用JMX将其设置为更高的值。

只是一个理论 - 不确定它是否会起作用。

另一种选择是探索通过JMX扩展连接器的能力。

这篇文章还概述了如何使用JMX停止/启动连接器。 http://java-monitor.com/forum/showthread.php?t=169

答案 1 :(得分:1)

如果等待时间很短,那么我会尝试使用过滤器。见
http://www.oracle.com/technetwork/java/filters-137243.html
http://docs.oracle.com/javaee/5/tutorial/doc/bnagb.html
您可以使用init方法检查接口设备。你不需要在它的doFilter方法中做任何事情。

答案 2 :(得分:-1)

public class TestFilter implements Filter {
  public void init(FilterConfig config) throws ServletException{
                     System.out.println("init of TestFilter");
                     // Make sure all other interfacing device is online here.
  }
  public void destroy(){}        
  public void doFilter(ServletRequest req,ServletResponse resp,FilterChain chain)
     throws ServletException, IOException {   
                     chain.doFilter(req,resp);
  }
}