2012-04-12 79 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