javaservice wrapper 实现注册服务功能

Java Service Wrapper 使用 1       简介 最近项目中需要做一个Windows系统服务,记录一下使用过程。     Java Service Wrapper 可以将Java程序包装成系统服务,这样就可以随着系统的运行而自动运行。Java Service Wrapper分为Professional、Standard、Community三个版本,并支持32位和64位的系统,其中Community版本为免费的社区版本 阅读详情
 

1.下载社区版(Community)
主站:
http://wrapper.tanukisoftware.com/doc/english/download.jsp

下载地址:
32-bit
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-linux-ppc-32-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-linux-x86-32-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-macosx-universal-32-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-solaris-sparc-32-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-solaris-x86-32-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-windows-x86-32-3.5.9.zip

64-bit
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-linux-ia-64-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-linux-ppc-64-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-linux-x86-64-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-solaris-sparc-64-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-solaris-x86-64-3.5.9.tar.gz

2.例子1

a.创建HelloWorld_HOME文件夹,在下面编写例子程序HelloWorld.java
public class HelloWorld {
 public static void main(String[] args) {
  System.out.println("Starting Hello World");

  while (true) {
   try {
    Thread.sleep(1000);
   } catch (InterruptedException e) {
   }

   System.out.println("Looping...");
  }
 }
}


b.编写编译和执行的bat文件
compile.bat内容(创建在HELLOWORLD_HOME目录下):
javac HelloWorld.java
pause

run_HelloWorld.bat内容(创建在HELLOWORLD_HOME目录下):
java -classpath . HelloWorld
pause

c.执行 compile.bat
C:\HelloWorld_HOME>javac HelloWorld.java

C:\HelloWorld_HOME>pause
请按任意键继续. . .

d.执行 run_HelloWorld.bat
C:\HelloWorld_HOME>java -classpath . HelloWorld
Starting Hello World
Looping...
Looping...
Looping...
Looping...
Looping...

点击关闭console

e.在HelloWorld_HOME编写文件目录创建的bat文件
create_directory.bat内容(创建在HELLOWORLD_HOME目录下):
mkdir bin
mkdir conf
mkdir lang
mkdir lib
mkdir lib\classes
mkdir logs
pause

f.执行create_directory.bat

g.下载wrapper-windows-x86-32-3.5.9.zip文件,解压后
把wrapper-windows-x86-32-3.5.9\bin\wrapper.exe文件拷贝到HelloWorld_HOME\bin目录下,
把wrapper-windows-x86-32-3.5.9\lib\wrapper.dll文件拷贝到HelloWorld_HOME\lib目录下,
把wrapper-windows-x86-32-3.5.9\lib\wrapper.jar文件拷贝到HelloWorld_HOME\lib目录下,


h.拷贝HelloWorld.class到HELLOWORLD_HOME\lib\classes目录下
move_HelloWorld_class.bat内容(创建在HELLOWORLD_HOME目录下):
move HelloWorld.class lib\classes
pause

执行move_HelloWorld_class.bat文件

i.编写Wrapper的配置文件wrapper.conf
wrapper.conf内容(保存在HELLOWORLD_HOME\conf文件夹下):
encoding=UTF-8
#include ../conf/wrapper-license.conf

wrapper.lang.folder=../lang

# Java Configuration.
wrapper.java.command=java
wrapper.java.command.loglevel=INFO

wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
wrapper.app.parameter.1=HelloWorld

wrapper.java.classpath.1=../lib/wrapper.jar
wrapper.java.classpath.2=../lib/classes

wrapper.java.library.path.1=../lib

# Logging Configuration
wrapper.logfile=../logs/wrapper.log

# Service Configuration
wrapper.name=MyHelloWorld
wrapper.ntservice.starttype=AUTO_START


j.启动配置HelloWorld程序
run_Wrapper.bat内容(创建在HELLOWORLD_HOME目录下):
bin\wrapper.exe -c ..\conf\wrapper.conf
pause

执行run_Wrapper.bat文件显示:

C:\HelloWorld_HOME>bin\wrapper.exe -c ..\conf\wrapper.conf
wrapper  | --> Wrapper Started as Console
wrapper  | Java Service Wrapper Community Edition 32-bit 3.5.9
wrapper  |   Copyright (C) 1999-2011 Tanuki Software, Ltd. All Rights Reserved.
wrapper  |     http://wrapper.tanukisoftware.com
wrapper  |
wrapper  | Launching a JVM...
wrapper  | Command: "C:\WINDOWS\system32\java.exe" -Djava.library.path="../lib"
-classpath "../lib/wrapper.jar;../lib/classes" -Dwrapper.key="nJkBcJUr644sxdao"
-Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -
Dwrapper.pid=916 -Dwrapper.version="3.5.9" -Dwrapper.native_library="wrapper" -D
wrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperSim
pleApp HelloWorld
jvm 1    | WrapperManager: Initializing...
jvm 1    | Starting Hello World
jvm 1    | Looping...
jvm 1    | Looping...
jvm 1    | Looping...
jvm 1    | Looping...
jvm 1    | Looping...
jvm 1    | Looping...
jvm 1    | Looping...
jvm 1    | Looping...
jvm 1    | Looping...
wrapper  | CTRL-C trapped.  Shutting down.
jvm 1    | Looping...
wrapper  | <-- Wrapper Stopped
终止批处理操作吗(Y/N)? y


k.把HelloWorld作为Windows服务
install_service.bat内容(创建在HELLOWORLD_HOME目录下):
bin\wrapper.exe -i ..\conf\wrapper.conf
pause

执行install_service.bat文件显示:

C:\HelloWorld_HOME>bin\wrapper.exe -i ..\conf\wrapper.conf
wrapper  | MyHelloWorld service installed.

C:\HelloWorld_HOME>pause
请按任意键继续. . .

如果显示wrapper  | MyHelloWorld service installed.表明服务已经安装


l.启动服务
有两种方式
方式1:
编写start_service_by_net.bat内容(创建在HELLOWORLD_HOME目录下):
net start MyHelloWorld
pause

执行start_service_by_net.bat显示:

C:\HelloWorld_HOME>net start MyHelloWorld
MyHelloWorld 服务正在启动 ..
MyHelloWorld 服务已经启动成功。


C:\HelloWorld_HOME>pause
请按任意键继续. . .

方式2:
编写start_service_by_wrapper.bat内容(创建在HELLOWORLD_HOME目录下):
bin\wrapper.exe -t ..\conf\wrapper.conf
pause

执行start_service_by_wrapper.bat显示:
C:\HelloWorld_HOME>bin\wrapper.exe -t ..\conf\wrapper.conf
wrapper  | Starting the MyHelloWorld service...
wrapper  | Waiting to start...
wrapper  | Waiting to start...
wrapper  | MyHelloWorld started.

C:\HelloWorld_HOME>pause
请按任意键继续. . .

m.停止服务
有两种方式
方式1:
编写stop_service_by_net.bat内容(创建在HELLOWORLD_HOME目录下):
net stop MyHelloWorld
pause

执行stop_service_by_net.bat显示:

C:\HelloWorld_HOME>net stop MyHelloWorld
.
MyHelloWorld 服务已成功停止。


C:\HelloWorld_HOME>pause
请按任意键继续. . .

方式2:
编写stop_service_by_wrapper.bat内容(创建在HELLOWORLD_HOME目录下):
bin\wrapper.exe -p ..\conf\wrapper.conf
pause

执行stop_service_by_wrapper.bat显示:
C:\HelloWorld_HOME>bin\wrapper.exe -p ..\conf\wrapper.conf
wrapper  | Stopping the MyHelloWorld service...
wrapper  | MyHelloWorld stopped.

C:\HelloWorld_HOME>pause
请按任意键继续. . .

n.移除服务
编写uninstall_service.bat内容(创建在HELLOWORLD_HOME目录下):
bin\wrapper.exe -r ..\conf\wrapper.conf
pause

执行uninstall_service.bat显示:
C:\HelloWorld_HOME>bin\wrapper.exe -r ..\conf\wrapper.conf
wrapper  | MyHelloWorld service removed.

C:\HelloWorld_HOME>pause
请按任意键继续. . .

 

来源于网络,回归于网络.
我的邮箱:happy.every.day@126.com QQ:48399956

 lmdkf@sina.com
快乐!
2011年07月20日

CircuitBreaker Resilience4J 介绍 在分布式环境中,我们的应用可能会面临着各种各样的可恢复的异常(比如超时,网络环境异常),此时我们可以利用不断重试的方式来从异常中恢复(Retry Pattern),使整个集群正常运行。然而,也有一些异常比较顽固,突然发生,无法预测,而且很难恢复,并且还会导致级联失败(举个例子,假设一个服务集群的负载非常高,如果这时候集群的一部分挂掉了,还占了很大一部分资源,整个集群都有可能遭殃)。如果我们这时还是不断进行重试的话,结果大多都是失败的。 阅读详情

相关推荐

FANUC机器人电弧跟踪功能深度解析:从电流采样原理到ROBOGUIDE仿真避坑指南

本文深度解析FANUC机器人电弧跟踪技术,从电流采样原理到ROBOGUIDE仿真避坑指南,详细介绍了电流波形分析、实时补偿机制及现场调试技巧。针对工业焊接中的常见问题,提供从底层原理到高阶应用的解决方案,帮助工程师优化自动化焊接质量。

weixin_31785177的博客 552

Java wrapper service 使用

Java wrapper service 使用

fduffyyg的博客 438

单细胞转录组数据质控实战:如何用Seurat精准过滤低质量细胞(附完整代码)

本文详细介绍了使用Seurat进行单细胞转录组数据质控的实战方法,包括基因检出数、分子计数和线粒体基因比例等关键指标的解读与可视化技巧。通过动态阈值策略和高级质控技巧(如双细胞检测和红细胞过滤),帮助研究者精准过滤低质量细胞,提升数据分析可靠性。附完整代码示例,适合生物信息学研究人员参考实践。

ii567的博客 825

Elasticsearch升级1.5版本暴露jdk的bug

把测试环境的Elasticsearch升级到1.5.1版本,启动的时候报错: [root@node2 elasticsearch-1.5.1]# bin/service/elasticsearch startStarting Elasticsearch…Waiting for Elasticsearch……WARNING: Elasticsearch may have failed to s...

weixin_33890526的博客 186

告别盲目调参:手把手教你用RKISP2.x Tuner理解AWB、AE、NR等核心模块

本文详细介绍了如何使用RKISP2.x Tuner工具进行ISP调试,重点解析AWB、AE、NR等核心模块的调参技巧。通过RV1126平台的实际操作演示,帮助工程师快速掌握可视化对比实验方法,告别盲目调参,提升图像信号处理效率。

weixin_30300225的博客 393

用人话讲明白线性回归LinearRegression

目录 什么是回归 一元线性回归 损失函数 最小二乘估计 小结 1. 什么是回归 当我们学习一门新课程、接触一个新专业时,总会对该领域的专有名词感到困惑,甚至看完解释仍难以理解其含义。在我们一起学习machine learning的过程中,我会尽量对相关名词用“人话”做一遍解释,以减少学习的“痛苦感”。 譬如今天要学的线性“回归”,这个回归(regression)和我们平时说的“回归祖国”的回...

化简可得 1万+

java service wrapper带来的问题

使用java service wrapper在实际项目中碰到一些问题。

weixin_42683476的博客 1518

车载以太网SOMEIP入门必看:从服务发现到事件订阅,一次搞懂三种核心通信模式(附报文实例)

本文深入解析车载以太网SOME/IP的三种核心通信模式:服务发现、方法调用和事件订阅,通过真实报文实例和仿真工具演示,帮助开发者快速掌握这一关键技术。文章特别强调服务发现机制的基础作用,并详细介绍了Request/Response与Fire&Forget两种方法调用模式的应用场景,为智能汽车网络通信开发提供实用指南。

weixin_30955617的博客 112

java service wrapper jar 服务_javaservice wrapper 实现注册服务功能

2.例子1a.创建HelloWorld_HOME文件夹,在下面编写例子程序HelloWorld.javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Starting Hello World");while (true) {try {Thread.sleep(1000);} ...

weixin_39825941的博客 224

高精度地图数据的结构

本文是个人在学习高精度地图数据结构的心得,主要是描述高精度地图的几层数据结构以及元数据信息。

qq_40664711的博客 5575

自动驾驶---Planning模块详细介绍(以Apollo为例)

主要介绍高速场景下Planning模块,至于低速的泊车场景对比高速场景或者城区场景有比较大的差距(后面也会介绍泊车场景),本篇Planning介绍主要包括三大子模块Routing,Behavioural Planning以及Motion Planining,并且对比较重要的Decider和Optimizer都做了通俗化的说明供大家思考,以便于后续理解更深入的内容,后面有时间会再开一些篇幅对这些模块进行更加深入的讲解。

智能汽车人的博客 2087

20200226 windows下JavaService注册成功启动失败的原因

linux下的java jar程序,我们可以用nohup java -jar指令,使得java程序在后台保持运行。那么windows下的jar程序,该怎么运行呢——将其注册为windows服务。 最近收到一个任务,是让我处理一个问题。一个windows服务器上的java程序跑不起来。 ...

LLLLEE 的博客 1278

RK3568笔记二:部署手写数字识别模型

部署手写数字识别模型,使用手写数字识别(mnist)数据集训练了一个 LENET 的五层经典网络模型。Lenet是我们的深度学习入门的必学模型,是深度学习领域中的经典卷积神经网络(CNN)架构之一。过程分为:训练,导出ONNX,转化RKNN,测试。

1170

使用java service wrapper把windows flume做成服务

把windows flume做成服务网上介绍的方法好多种: 1、commons daemon procrun,这个是apache的一个项目,tomcat就是使用这个做成服务的,缺点:配置麻烦,对bat脚本不熟悉的话,配置起来很难 2、JavaService,这个对单个jar文件做成服务很简单,但是针对flume却不行 3、java service wrapper,配置简单,缺点:不免费 这里介绍java service wrapper的使用

一只没有脚的鸟 1785

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

介绍几种常用的注册window服务工具

介绍五种方式   一,微软官方工具包   .1. 下载nginx windows版本  http://www.nginx.org 2. 下载微软的2个工具: instsrv.exe、srvany.exe 去微软网站下载安装Windows Server 2003 Resource Kit Tools(rktools.exe),它包括标题提及的所有必要的工具,下载完安装好。 3. 运行命...

衣旧 1833

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Atitit.Java exe bat  作为windows系统服务程序运行

Atitit.Java exe bat  作为windows系统服务程序运行   1. 使用SC命令+srvany.exe (不错,推荐)+net start1 1.1. First 创建一个java的运行bat1 1.2. 配置srvany 做serv wrapper1 1.3. 使用sc 创建/del服务1 1.4. 启动start/stop服务  Sc \\127.0.0.1 s

attilax的专栏 889

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

为系统添加 自己的程序 服务

1.Java通过Java sevices为xp系统添加服务(见附件 JavaService-2.0.10.zip ) http://javaservice.objectweb.org/ ———————————————————————————————————————————————————————— 2.java通过 Java sevices 挖人 wrapper为Windows...

xin已上锁 145

(转)Linux下用javaservice wrapper制作Java的Demon服务程序(系统服务程序)

  最后找到了JavaService Wrapper(http://wrapper.tanukisoftware.org/doc/english/introduction.html),该工具能在很多中平台下面注册为系统服务(查看支持平台)。该工具使用方法有三种模式,我用的是第一种WrapperSimpleApp帮助类,另外的两种方式都需要在原来的程序上进行适当的编码。下面就用我的程序ss为例子说...

weixin_34032621的博客 123

TOMCAT JavaService的汉字问题

TOMCAT的WEBAPP汉化的项目,开始使用了反编译的方法在原来的字符串处理上加入 String newStr = new String(str.getBytes("ISO-8859-1"),"GBK");来解决,JAVA将汉字的双字节作为单独的两个字节处理的问题。但显然不是一个好的方法。后来发现Eclipse可以使用UTF-8的编码方式来处理多语言界面问题。(当然它帮助的搜索结果有时还是乱码)

janrey的专栏 978

为系统添加自己的程序服务

1.Java通过Java sevices为xp系统添加服务(见附件 JavaService-2.0.10.zip ) http://javaservice.objectweb.org/   ————————————————————————————————————————————————————————   2.java通过 Java sevices 挖人 wrapper为Windows...

lan_13217的专栏 146

把java类变成 Windows NT服务的3种方法

把java类变成 Windows NT服务的3种方法(使用 Java Serivce Wrapper) 集成 Java Service Wrapper 的三种方法:1 使用 WrapperSimpleApp 类启动您的应用程序,这是最简单的,也是Java Service Wrapper推荐使用的方法.2 使用 WrapperStartStopApp 类. 这种方法和第一种不同的地方在于,可以使用一

liumyong的专栏 1365

Java Service Wrapper 详解

Java Service Wrapper(JSW) 可用于将Java后台程序包装成一个后台服务运行。除此以外,JSW还可以在你的Java程序挂掉以后,自动帮你把服务再次拉起,相当于提供了一个守护进程的功能

CrazyPig的技术博客 9125

Java Service Wrapper简介与使用

        在实际开发过程中很多模块需要独立运行,他们并不会以web形式发布,传统的做法是将其压缩为jar包独立运行,这种形式简单易行也比较利于维护,但是一旦服务器重启或出现异常时,程序往往无法自行修复或重启。解决服务器重启的传统做法是编写一段shell脚本随服务器启动而运行,但是这样做只是治标,那么我们想寻求一种“治本”的方式该怎么办呢?        Java Service Wrap...

286 459

Java Service Wrapper 使用

Java Service Wrapper    工具下载:http://sourceforge.net/projects/wrapper/files/wrapper/ 该工具主要用于包装其他java服务器端程序(比如tomcat,或者自己开发的java服务器程序),提供如下特性:     * 作为windows服务或者unix守护进程运行;     * 增强程序的可靠性,程序崩溃后的自动重

Granth的专栏 7460

MyBatisPlus详解(二)条件构造器Wrapper、自定义SQL、Service接口

MyBatisPlus详解(一)项目搭建、@TableName、@TableId、@TableField注解与常见配置在单元测试,这种写法其实也是不好的,因为SQL语句最好都维护在持久层,而不是业务层。为此,MyBatis提供了自定义SQL功能,即利用Wrapper构建复杂的where条件,然后自己定义SQL语句剩余的部分。也就是说,自己定义,利用Wrapper构建。

挑灯日记 记录自己 3118
下一篇: UrlReWriter使用经验小结
ff55c
博客等级 码龄18年 13粉丝 18原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值