有个任务,需要远程起调Windows64服务器下的程序,那么需要在Windows服务器中注入一个deamon服务,都知道Linux环境做成后台服务非常简单,nohup &很快能解决问题,但windows环境总是多重磨难。 
一开始我先问了个朋友,他回答是没做成服务,是把写个Pathon包在java外面,然后编译成exe,在启动中加入,我一听觉得有些麻烦,还需要绕一圈才能起调。 
先搜Java windows service, 推荐首选Wrapper,并且大名鼎鼎的ActiveMQ也是用的他做的服务,经过验证,配置很简单,copy wrapper.exe, wrapper.dll, wrapper.jar到自己的目录,并配置一个wrapper.conf, 测试

  1. 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

  1. @echo off
  2. set LIB_HOME=******
  3. set APP_HOME=******
  4. %APP_HOME%\prunsrv.exe //IS//StartService --DisplayName="Start Service" --Description="Start a server." ^
  5. --Install=%APP_HOME%\prunsrv.exe --Jvm=%JAVA_HOME%\jre\bin\server\jvm.dll --JvmMs=256 --JvmMx=1024 ^
  6. --StartMode=jvm --Startup=auto --StopMode=jvm --StartClass= --StartParams= ^
  7. --Classpath=%LIB_HOME%\*.jar; ^
  8. --LogPath= --LogPrefix=

^是windows命令的折行符,为了避免在一行中写过长的命令。(Linux 是\) 
在dos环境下执行这个脚本,执行后 
这样可以在控制面板-->管理工具-->服务里面可以看到名称为StartService的服务 
注意:--install=后面不要省%APP_HOME%\,不然会报告文件找不到 
补充一个exe方式的服务配置

  1. @echo off
  2. set APP_HOME=******
  3. %APP_HOME%\prunsrv.exe //IS//StartService --DisplayName="Start Service" --Description="Start a server." ^
  4. --Install=%APP_HOME%\prunsrv.exe ^
  5. --StartMode=exe --Startup=auto --StartPath=%APP_HOME% --StartImage=%APP_HOME%\appname.exe ^
  6. --LogPath=./logs --LogPrefix=

b.写一个uninstall脚本

  1. @echo off
  2. set APP_HOME=******
  3. %APP_HOME%\prunsrv.exe //DS//StartService

这个可以卸掉install的服务 
c.更详细的配置文档可以看apache文档 
http://commons.apache.org/daemon/procrun.html

Windows 64位环境的Java 服务配置的更多相关文章

  1. windows 64位环境下php执行环境部署配置

    1.下载安装包 地址可以网上找,我下载的是php-5.6.27-Win32-VC11-x64.zip 2.解压安装包,我的解压到D:\tools\php5.6 3.配置php.ini 在解压的目录中, ...

  2. rabbitMQ 在 windows 64位环境下无法启动(提示乱码)的解决方法

    执行start命令时,提示乱码 解决方法: Set the environment variable “RABBITMQ_BASE” to “c:\rabbitmq”, uninstall the s ...

  3. Windows 64位系统下安装JAVA环境

    文件名称:jdk-7u51-windows-x64 下载Windows 64位平台的JDK安装文件. 安装 1.双击打开下载好的文件,点击“下一步”开始安装. 2. ①默认选择安装全部功能,不做调整. ...

  4. IIS7+windows 64位配置注意事项

    问题和解决办法 1  如果网站为Asp:再asp中注意启用父路径 2  操作必须使用一个可更新的查询:给用户iis_iusrs 一个完全控制的权限 3  Windows(64位IIS)未在本地计算机上 ...

  5. win7 64位环境下配置汇编环境和程序设计

    下载dosbox,并解压安装 下载地址: http://pan.baidu.com/s/1eRJbJAq 默认安装到C:\Program Files (x86)\DOSBox-0.74 安装成功后,双 ...

  6. Windows 64 位系统下 Python 环境的搭建

    Windows 64 位开发环境 注意:本教程适用于 Windows 7 64 位操作系统 及 Windows 10 64 位操作系统,其他系统尚未经过校验. 安装 IDE PyCharm 下载:ht ...

  7. 【Oracle】在WIN NT 64位环境下安装win64_11gR2_database。并用PL/SQL连接

    因为现在大多数服务器环境均为64位环境,而且有一部分使用的windows server的环境,在此做了一番小研究,如何在64位环境下安装oracle11g_64bit服务端 (1)首先www.orac ...

  8. SSIS 64位环境访问Oracle11g

    SSIS 为了要能够在64位的机器上面让SSIS存取Oracle,当然需要安装64位的Oracle Provider,但是遇到最大的问题在于SSIS在执行的时候分成两种组件,分别是DTExec.exe ...

  9. Windows 64位系统安装Apache2.4

    Windows 64位系统安装Apache2.4 来自:百度经验:jingyan.baidu.com 现在大部分一键安装包多是32位的,并不支持64位,直接在64位的系统上使用会报错的,所以我这里就来 ...

随机推荐

  1. mysql insert插入的3种方法

    测试表student的字段 1.插入一条数据 INSERT INTO student(sid,sname,sage,ssex) VALUES(1,"wangdali",18,0); ...

  2. 利用存储过程来重命名SQL Server数据库

    最近遇到一个需要在多用户模式下重新命名数据库的Case, 因为数据库可能被其他用户使用,所以直接修改可能会失败.对于此种情况,我们可以等所有用户结束使用数据库时修改,或者是将数据库切换到单用户模式下进 ...

  3. overflow的使用

    <div id="topFieldDiv" style="width: 650px; height: 150px; overflow-y: hidden" ...

  4. 随机取出数组中的某些值,并删除它们array_splice,array_slice

    今天遇到这样一个情景.这样的,一个抽奖活动,预先获取一堆人参与信息,一个人最多只能中奖一次.活动有活动的配置信息,比如说一等奖有多少人,二等奖有多少人等等.. 说白了,就是从这个参与人数组里,取出来一 ...

  5. bat 传递超过10个参数(bat参数遍历)

    批处理文件中可引用的参数为%0~%9, %0是指批处理文件的本身,也可以说是一个外部命令:%1~%9是批处理参数,也称形参:而替换形参的实参若超过了批处理文件中所规定数值(9个)且想在批处理文件中应用 ...

  6. BZOJ2427: [HAOI2010]软件安装 tarjan+树形背包

    分析: 一开始我以为是裸的树形背包...之后被告知这东西...可能有环...什么!有环! 有环就搞掉就就可以了...tarjan缩点...建图记得建立从i到d[i]之后跑tarjan,因为这样才能判断 ...

  7. 20155313 杨瀚 《网络对抗技术》实验九 Web安全基础

    20155313 杨瀚 <网络对抗技术>实验九 Web安全基础 一.实验目的 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.基础问题回答 1.SQL注入攻 ...

  8. Asp.net中汉字转换成为拼音

    1.应用场景 将汉字转换为拼音(eg:"我爱你"--->"WOAINI") 取各个汉字的首字母(eg:"我是中国人"--->&q ...

  9. .Net Core 分布式微服务框架 - Jimu 添加 Swagger 支持

    系列文章 .Net Core 分布式微服务框架介绍 - Jimu .Net Core 分布式微服务框架 - Jimu 添加 Swagger 支持 一.前言 最近有空就优化 Jimu (一个基于.Net ...

  10. HTML 表格实例

    1.表格这个例子演示如何在 HTML 文档中创建表格. <p>每个表格由 table 标签开始.</p><p>每个表格行由 tr 标签开始.</p>&l ...