Commons Daemon 1.0.4下载地址发布了,对需要讲Java应用打包成window服务有兴趣的朋友可以直接去官方获取最新的Commons Daemon 1.0.4下载地址下载试用。说起Java web应用,笔者接触过的绝大部分的生产环境都是Linux,而最常见的就是将应用程序服务器设置成让操作系统启动时自动启动。这个简单的功能在Linux和Unix下相对来说都十分容易完成。只需要设置好启动脚本,并加入到操作系统启动服务中即可,以Ubuntu为例,只要一个简单的命令:update-rd.d就可以轻松地将Jetty作为一个服务一样在操作系统启动的时候启动,在操作系统关闭之前将应用关闭。相对于Linux的简单而言,在window环境中就没那么容易了,那么如果在window下我们也需要类似的功能,将一个Java应用打包成一个服务该如何做呢?Commons Daemon就为我们提供了这样一个选择。
Commons Daemon是apache旗下Commons组件库的一个组件,是一套专门用于将Java应用打包成操作系统服务的类库。Commons Daemon的实现包括两部分组成,一部分由C语言编写,主要用于调用操作系统接口,另一部分由Java语言编写,主要用于实现守护进程的功能(实现服务需要调用的各种功能,比如关闭应用,启动应用等)。实际上Commons Daemon并不仅仅支持window平台,在Linux和Unix平台下依然可以用,只是笔者在Linux平台下比较喜欢以脚本的方式启动应用。而对应的win32平台下Commons Daemon采用procrun作为服务的实现,而Linux平台下则使用了jsvc. 还有一点值得说明的就是Commons Daemon的Java部分源码实际上来自Tomcat 4.0项目中的org.apache.commons.daemon包。因此Commons Daemon也就自然的成为了Tomcat默认的服务打包工具。
说到这里笔者想起了自己最喜欢也是最常用的一环Java应用程序服务器Jetty,Jetty使用的是另一款服务打包工具名字叫做:Java Service Wrapper,不过该款工具貌似是收费工具,当然也有社区版的下载不过功能上似乎有不少的限制有兴趣的朋友也可以参考下看看,毕竟多试试看没什么坏处!