【问题标题】:Update a war on Tomcat start up更新一个关于Tomcat启动的战争
【发布时间】:2012-04-24 17:18:33
【问题描述】:

我想为在 Tomcat 上运行的应用程序设置更新过程。托管tomcat的服务器只在工作时间开放(它是一个小公司的内部应用程序)。我在想我可以将新战争上传到服务器并设置“某些东西”以在下一次服务器启动时运行。这可能是一个 bat 文件,它将在服务器启动但在 Tomcat 服务启动之前执行,它将删除旧的战争及其分解的文件夹。当我手动更新战争时,我还删除了 Tomcat 的工作文件夹(只是为了确定)。我知道热部署,但我不认为这是一种选择,因为我不太确定它可能对用户当前工作会话产生的影响。

有没有办法在 Tomcat 启动之前运行这样的 bat 文件,或者有另一种方法来进行此更新? Tomcat 版本不是问题。现在正在运行 Tomcat 6,但如果需要,我可以升级到版本 7。

我也在serverfault 上发布了此内容,但我在这里发布,如果您认为这违反了条款,我深表歉意,我将删除它。

【问题讨论】:

    标签: tomcat deployment


    【解决方案1】:

    您可以创建一个批处理文件来执行更新,然后启动 Tomcat。

    使用 srvany.exe 或 FireDaemon 使您的脚本成为将在机器启动时启动的 Windows 服务。

    由于我更喜欢​​ Java 而不是 bat 脚本,所以我宁愿使用 Java Service Wrapper 来对我的 Tomcat 更新和启动进行编程,并使其成为 Windows 服务。

    【讨论】:

    • 我喜欢 Java 方法,但我将如何确保更新服务在 tomcat 服务之前运行?是否必须添加对tomcat服务的依赖?
    • 一个小型引导 Java 应用程序,它执行更新,然后以编程方式启动 Tomcat。使用 Service Wrapper,您可以将此引导应用程序设置为 Windows 服务。检查此link,了解如何将您的应用程序集成到包装器中。顺便说一句,包装器的 3.2.3 版是“免费的”,如果这对您有任何影响的话。
    猜你喜欢
    • 2016-04-25
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 2019-05-02
    • 2018-03-22
    • 1970-01-01
    相关资源
    最近更新 更多