繁体   English   中英

将Java应用程序作为* nix守护程序或Windows服务运行的最佳方法?

[英]Best Method to run a Java Application as a *nix Daemon or Windows Service?

我正在寻找将Java应用程序作为* NIX守护程序或Windows服务运行的最佳方法。 我查看了Java Service WrapperApache Commons项目'jsvc'Apache Commons项目'procrun' 到目前为止,Java Service Wrapper看起来是最好的选择...但是,我想知道是否还有其他“开源友好”许可产品。

我自己在Java Service Wrapper上取得了很大的成功。 我没有看过其他人,但ServiceWrapper的主要优势是:

  • 很棒的x平台支持 - 我已经在Windows和Linux上使用它,并且发现两者都很容易
  • 可靠的文档 - 文档清晰明了,并提供了很好的示例
  • 深入的每平台支持 - 窗口服务管理系统中有一些独特的功能,服务包装器(无重启)完全支持。 在Windows上,您甚至可以在进程列表中看到您的应用程序名称,而不仅仅是“java.exe”。
  • 符合标准 - 与许多ad-hoc Java init脚本不同,服务包装器的脚本往往符合LSB标准。 如果你想要Linux Heartbeat / HA之类的高可用性管理,这可能会变得非常重要。

无论如何,只是我的2美分...... :)

另一个选择是WinRun4J 这只是Windows,但有一些有用的功能:

  • 32位和64位支持
  • 用于访问事件日志和注册表的API
  • 可以注册服务依赖于其他服务(即serviceA和serviceB必须在serviceC之前启动)

它也是开源友好(CPL)所以没有使用限制。

(完全披露:我在这个项目上工作)。

您需要支持哪些特殊属性(如操作系统引导资源管理)? 否则,对于Unix,您应该能够通过编写适当的init.d脚本并将应用程序设置为自动启动来守护应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM