Windows 64位环境的Java服务配置
最近有个任务,需要远程起调Windows64服务器下的程序,那么需要在Windows服务器中注入一个deamon服务,都知道Linux环境做成后台服务非常简单,nohup &很快能解决问题,但windows环境总是多重磨难。
一开始我先问了个朋友,他回答是没做成服务,是把写个Pathon包在java外面,然后编译成exe,在启动中加入,我一听觉得有些麻烦,还需要绕一圈才能起调。
先搜Java windows service, 推荐***Wrapper,并且大名鼎鼎的ActiveMQ也是用的他做的服务,经过验证,配置很简单,copy wrapper.exe, wrapper.dll, wrapper.jar到自己的目录,并配置一个wrapper.conf, 测试。
- wrapper.exe -c wrapper.conf
发现有问题,需要一个licence key,需要购买。
也许还有方法去破解,不过看了一个老外说wrapper对windows64位并不免费,并推荐Procrun之后,决定转到这一阵地,加上大名鼎鼎的Tomcat也是用它做的服务。整个配置如下:
1.下载prunsrv
http://archive.apache.org/dist/commons/daemon/binaries/windows/
下载commons-daemon-1.0.8-bin-windows.zip
网上找这个不容易,后来才在commons-daemon-1.0.8-bin-windows.zip里面找到这个,一般会找到http://commons.apache.org/daemon/download_daemon.cgi,这里面并没有prunsrv.exe
解包后,64位机器用amd64/prunsrv.exe
2.解压后复制文件
a. copy commons-daemon-1.0.8-bin-windows/amd64/prunsrv.exe to your app path
这是做服务的执行程序
b. copy commons-daemon-1.0.8-bin-windows/prunmgr.exe 并改名 yourappname.exe
监控服务配置及运行的程序
3.写两个脚本
a.一个安装bat
- @echo off
- set LIB_HOME=******
- set APP_HOME=******
- %APP_HOME%prunsrv.exe //IS//StartService --DisplayName="Start Service" --Description="Start a server." ^
- --Install=%APP_HOME%prunsrv.exe --Jvm=%JAVA_HOME%jreinserverjvm.dll --JvmMs=256 --JvmMx=1024 ^
- --StartMode=jvm --Startup=auto --StopMode=jvm --StartClass= --StartParams= ^
- --Classpath=%LIB_HOME%*.jar; ^
- --LogPath= --LogPrefix=
^是windows命令的折行符,为了避免在一行中写过长的命令。(Linux 是)
在dos环境下执行这个脚本,执行后
这样可以在控制面板-->管理工具-->服务里面可以看到名称为StartService的服务
注意:--install=后面不要省%APP_HOME%,不然会报告文件找不到
b.写一个uninstall脚本
- @echo off
- set APP_HOME=******
- %APP_HOME%prunsrv.exe //DS//StartService
这个可以卸掉install的服务
c.更详细的配置文档可以看apache文档
http://commons.apache.org/daemon/procrun.html
原文链接:http://zhousheng29.iteye.com/blog/1320882
【编辑推荐】
相关文章
- 再谈java的内存泄露
- 随机数是骗人的,.Net、Java、C为我作证
- 介绍一个轻量级java的swf处理库
- 保持java线程间可见性的5种方式
- JRuby中调用java带可变参数的方法
- java语言的演化——读JavaOne ppt笔记
- Ruby写Servlet的小例子
- Java如何制作API文档
- Java并发性和多线程介绍
- Java中创建对象的5种方式
- Java多线程CyclicBarrier学习
- Java常见的乱码问题及解决方案
- Java对象创建、分配、布局、访问小析(HotSpot虚拟机)(三)
- Java对象创建、分配、布局、访问小析(HotSpot虚拟机)(二)
- Java对象创建、分配、布局、访问小析(HotSpot虚拟机)(一)
- TomCat之Filter小析
- Java内存模型小析
- SpringMVC解析JSON请求数据小析
- 创建一个简单的web服务器(二):使用自定义的类加载器来替换URLClassLoader
- Idea导入Tomcat源码