我正在尋找將Java應用程序作爲* NIX守護程序或Windows服務運行的最佳方法。我查看了Java Service Wrapper,Apache Commons project 'jsvc'和Apache Commons project 'procrun'。到目前爲止,Java服務包裝看起來是最好的選擇......但是,我想知道是否有任何其他「開源友好」許可產品。將Java應用程序作爲* nix守護程序或Windows服務運行的最佳方法?
19
A
回答
17
我自己在Java Service Wrapper方面取得了巨大的成功。我沒有看過其他人,但ServiceWrapper的主要優勢有:
- 大X平臺支持 - 我用它在Windows和Linux,並發現它很容易在兩個
- 固文檔 - 文檔清晰並且重點突出,具有很好的示例
- 深度平臺支持 - 窗口服務管理系統中有一些獨特的功能,完全由服務包裝(無重新啓動)支持。而在Windows上,您甚至可以在進程列表中看到您的應用程序名稱,而不僅僅是「java.exe」。
- 符合標準 - 與許多專門的Java初始化腳本不同,服務包裝器的腳本傾向於符合LSB標準。如果您希望從Linux Heartbeat/HA等高可用性管理中獲得高可用性,這可能最終變得非常重要。
總之,只要我的2美分... :)
+1
不能高度推薦這個 – 2009-05-11 08:10:57
1
是否有任何需要應用的特殊屬性(如操作系統指導的資源管理)需要支持?否則,對於Unix,您應該能夠通過編寫適當的init.d腳本並將您的應用程序設置爲自動啓動來守護程序。
3
另一種選擇是WinRun4J。這是僅適用於Windows,但有一些有用的功能:
- 32位和64位支持
- API來訪問事件日誌和註冊表
- 可以註冊服務依賴於其他服務(即serviceA和serviceB必須啓動服務之前)
它也開源友好(CPL)所以沒有限制使用。
(全面披露:我在這個項目上工作)。
相關問題
- 1. 在Linux上對Java應用程序進行守護進程的最佳方式
- 2. 將金字塔pserve服務器作爲守護程序運行的最佳方式
- 3. 部署Rails應用程序與delayed_job作爲守護程序任務運行
- 4. 爲Java應用程序創建安裝程序作爲Windows服務運行
- 5. 在Windows上運行Java獨立應用程序(作爲服務)
- 6. 由守護進程驅動的web服務的最佳方法
- 7. 作爲守護程序運行程序的Docker
- 8. 驗證Java服務器應用程序的最佳方法
- 9. Python作業服務守護程序?
- 10. 將Windows應用程序作爲服務運行?
- 11. 將C#控制檯應用程序作爲Windows服務運行
- 12. 將Java應用程序作爲服務運行
- 13. 將Java應用程序作爲服務運行
- 14. 將SBT作爲守護進程運行
- 15. 在服務器上執行java程序的最佳方法
- 16. 如何使用jsvc將java程序轉換爲守護程序?
- 17. 將Java應用程序作爲Windows 7服務運行時獲取「GPG錯誤」
- 18. 如何通過命令行將應用程序作爲守護程序啓動?
- 19. 如何將Erlang虛擬機作爲守護程序運行?
- 20. 從應用程序外部測試應用程序服務的最佳方法
- 21. 將Java SE應用程序作爲服務集成到Java EE應用程序最佳實踐
- 22. 將Java應用程序轉換爲Windows屏幕保護程序
- 23. 運行WPF應用程序作爲Windows服務
- 24. 作爲Windows服務運行應用程序
- 25. 如何運行Windows GUI應用程序作爲服務?
- 26. 將流程作爲Windows服務運行時的最佳做法是什麼?
- 27. MSMQ應用程序作爲Windows服務
- 28. 創建類似服務守護進程Android應用程序
- 29. 如何守護Java程序?
- 30. 如何設置作爲Windows服務運行的Java應用程序的代理
對於Windows服務,請參閱此問題:http://stackoverflow.com/questions/68113/how-to-create-a-windows-service-from-java-app/3626452#3626452(將此評論添加爲Google把我帶到這裏,但另一個問題有更多答案)。 – atomicules 2010-09-02 11:05:27