【问题标题】:Check if embeded Tomcat was started检查嵌入式 Tomcat 是否已启动
【发布时间】:2012-04-27 17:39:11
【问题描述】:

我将 Tomcat 7 嵌入到我的 Java 应用程序中。在构造函数中我设置了变量:

this.tomcat = new Tomcat();
this.started = false;

然后我会在稍后调用另一个方法来启动它:

this.tomcat.start();
this.started = true;

我使用this.started 变量来跟踪我是否曾经启动过服务器。意味着服务器的状态被多次保存(在内部由 Tomcat 并再次在变量中)。理想情况下,我想只使用 Tomcat API 来获取服务器的状态,但我一直无法找到一种方法来做到这一点。

我发现的最佳选择是尝试打开与服务器的连接。这似乎是一个缓慢(在 CPU 时间范围内)且资源效率低的解决方案。

【问题讨论】:

  • 你想做什么?验证您的应用程序是否正在运行?验证 Tomcat 是否正在运行?还是别的什么?
  • @DavidFeitosa 我省略了很多代码。我们有可以更改的配置,但仅限于 Tomcat 尚未启动或停止时。如果用户尝试重新配置正在运行的服务器,我们希望抛出 IllegalStateException。

标签: java tomcat tomcat7


【解决方案1】:

this.tomcat.getServer().getState();

this.tomcat.getServer().getStateName();

这些是标准的生命周期方法,可以在服务器或任何引擎、主机、上下文、连接器、领域等上调用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多