Windows Service实现方案之华山论剑 - 包装一个java程序为Windows服务
前面发表了3篇博客,围绕的一个问题是,如何把Sun Application Server还有我们自己做的另一个Java程序发布成一个WindowsService。呵呵,不算复杂的一个问题,但是确实花了我一些时间:) 这三篇博客地址如下:
Java Service Wrapper,Install Windows Service @WinServer2003,将SunAS以Windows服务方式启动
?
这三篇博客介绍的内容有一个共同的特点:那就是他们都是一个Wrapper。
这里对这些方案予以总结,同时给我们自己做这样一个wrapper的方法,并进行对比,从这些对比中我们可以看到C#语言确实提供了更好的抽象与封装,程序员开发应用程序要方便很多。
另外一点要说明的是,自己做的wrapper可以对服务程序进行更精细的控制,比如说shutdown,系统待机等等,对于这些接口,使用某些wrapper工具没有办法控制。调查的结果总结如下:)
?
?
1. C语言 wrapper实现方案
使用Windows API,自己想SCM注册服务,响应SCM发送过来的系统事件,不用多说,用C语言做肯定要比其他C++/C#这样的高级语言要麻烦一点,目前发现这方面最好的文章是下面这篇,中英文链接如下:
宝宝,我爱你