2012-04-12 80 views
0

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

有没有办法在Tomcat启动之前运行此类bat文件或执行此更新的替代方法? Tomcat版本不是问题。现在正在运行Tomcat 6,但如果需要,我可以升级到版本7。

我也在张贴这serverfault,但我在这里张贴,如果你认为这是违反条款,我的道歉,我会删除它。

回答

1

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

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

由于我更喜欢​​使用Java编写蝙蝠脚本,我宁愿使用Java Service Wrapper来编程我的Tomcat更新和启动并使其成为Windows服务。

+0

我喜欢tha Java方法,但我将如何确保更新服务在tomcat服务之前运行?我必须添加对tomcat服务的依赖吗? – pater 2012-04-12 11:59:56

+0

执行更新的小型靴子Java应用程序然后以编程方式启动Tomcat。使用服务包装器,您可以将这个靴子应用程序作为Windows服务。查看这个[链接](http://wrapper.tanukisoftware.com/doc/english/integrate-start-stop-nix.html),了解如何将你的应用程序集成到包装中。顺便说一句,包装的3.2.3版本是'免费',如果这对你有什么不同。 – 2012-04-12 12:14:13