【问题标题】:Tool for managing multiple Java web container instances?用于管理多个 Java Web 容器实例的工具?
【发布时间】:2009-09-11 18:15:47
【问题描述】:

我正在寻找一个 Java Web 容器(如 jetty 和 tomcat)或我可以通过管理控制台创建/删除服务器实例的工具。

问题是我的组织需要为质量控制测试创建不同的测试服务器实例(针对不同的数据库配置)。目前,我必须手动复制一个 Tomcat“catalina_base”模板目录,并对正在运行的测试进行所需的任何更改。如果有一个统一的界面,我可以单击一个按钮来创建一个新实例(然后单击另一个来删除它),那就太好了。

编辑 1
必须能够在 Windows Server 2003 上运行。

编辑 2
我得到了很多与构建有关的答案,所以我将添加一些关于应用程序的额外信息。该应用程序是使用 ANT 脚本构建的标准 Java EE Web 应用程序。我们使用容器管理的 JNDI DataSource 来连接数据库。我们的程序是 20 多年前遗留下来的,它规定每次新的数据库更改都需要使用新的模式。

假设客户报告我们的应用程序显示计算错误 - 我们要做的第一件事是创建一个新的数据库模式,然后我们为所有数据库对象运行创建脚本,最后从生产中复制数据测试该新模式。当我们修复了错误(应用程序端或数据库端)时,我们的质量控制人员需要修复的应用程序和 DataSource 中的模式更改为新的“测试环境”。当他们完成测试后,我们将代码暂存到下一个预定版本中。

问题是,这个过程会乘以大量开发人员,同时修复了许多错误并添加了功能。目前,有超过 20 多个 Tomcat 实例管理不同版本的应用程序和数据库对象。随着功能的增加和质量控制的完成,我经常不得不创建新的 Tomcat 实例并删除旧的实例。

【问题讨论】:

    标签: java web-container


    【解决方案1】:

    听起来你真正需要的是构建一个像Continuum这样的部署工具

    【讨论】:

    • 我使用过巡航控制和 hudson,但我不确定持续集成服务器将如何提供帮助。你能解释一下吗?
    • 它不会为您提供所需的按钮控制,但您可以轻松配置应用程序以构建新环境并使用配置文件,指向您选择的任何数据库,然后您可以设置它从代码存储库自动执行此操作。对我来说,这听起来像是到达你想去的地方的一种方式。
    【解决方案2】:

    您可以使用 jetty 来执行此操作。您可以使用指定的配置创建自己的 Java 类作为嵌入式服务器,并从提示符或通过某些 Web 界面运行它。

    你可以看看这个 http://docs.codehaus.org/display/JETTY/Embedding+Jetty

    【讨论】:

    • 我想过做一个带有嵌入式码头实例的快速控制台应用程序,但想看看那里是否已经有东西了。
    【解决方案3】:

    你有没有想过像Chef这样的配置管理工具?

    【讨论】:

    • 从没听说过,但我要去看看。谢谢!
    • 哦,没有 Windows 兼容性。我将编辑我的问题以指定它必须在 Windows Server 2003 上运行。
    【解决方案4】:

    听起来您应该只更新应用程序的构建脚本,以便能够接受不同的参数,例如“使用 test1.properties 进行数据库设置”或“使用 prod2.properties”,然后部署重新构建的应用程序。

    【讨论】:

    • 构建应用程序不是问题(我们已经有一个方案可以加载具有不同配置的同一个应用程序)。我需要使用不同的设置/数据库运行多个独立的测试环境,并轻松添加/删除新环境。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-29
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 2017-06-12
    相关资源
    最近更新 更多