Java Service Wrapper 使用
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_26279177/article/details/70807173
1 简介
最近项目中需要做一个Windows系统服务,记录一下使用过程。
Java Service Wrapper 可以将Java程序包装成系统服务,这样就可以随着系统的运行而自动运行。Java Service Wrapper分为Professional、Standard、Community三个版本,并支持32位和64位的系统,其中Community版本为免费的社区版本。
2 配置过程
(1)安装java运行环境
(2)java程序打包成jar包
(3)在硬盘上创建文件夹,并在其下创建子文件夹bin,conf,lib,logs
(4)解压wrapper-windows-x86-32-3.5.20.zip,并将其bin目录下的Wrapper.exe、src/bin目录下的App.bat.in、InstallApp-NT.bat.in、UninstallApp-NT.bat.in拷贝到刚刚所创建的bin目录中,并分别改名为App.bat、InstallApp-NT.bat、UninstallApp-NT.bat
(5)将其lib目录下的Wrapper.Dll、wrapper.jar拷贝到新建的lib目录中,并将项目的jar和所用到的jar都拷贝到该目录
(6)将其src/conf目录下的wrapper.conf.in拷贝到workapp的conf目录中,并命名为wrapper.conf
3 修改wrapper.conf文件
主要修改下面几项
(1)JVM位置
wrapper.java.command=C:\jdk1.5.0_07\bin\java
或者 wrapper.java.command=%JAVA_HOME%/bin/java(需要在系统的环境变量里配置JAVA_HOME)
(2)MAIN CLASS此处决定了使用Java Service Wrapper的方式
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
(3)你的jar程序所需要的jar包必须全部在此表明
wrapper.java.classpath.1=../lib/JavaServiceTest.jar
wrapper.java.classpath.2=../lib/wrapper.jar
wrapper.java.classpath.3=../lib/sqljdbc4.jar
(4)你的Wrapper.DLL或wapper.jar所在的目录
wrapper.java.library.path.1=../lib
(5)你的Java应用程序的主类
wrapper.app.parameter.1=com.test.JavaServiceTest
(6)注册为服务的名称和显示名,你可以随意进行设置
wrapper.name=testwrapper
wrapper.displayname= Test Wrapper Sample Application
(7)服务描述信息
wrapper.description=Test Wrapper Sample Application Description
(8)服务的启动类型
wrapper.ntservice.starttype=AUTO_START
(9)按天生产日志
wrapper.logfile=../logs/wrapper.YYYYMMDD.log
wrapper.logfile.rollmode=DATE
4 启动
修改好了以后,运行MyApp.bat即可运行你的java程序
5 服务注册
运行InstallApp-NT.bat可以进行服务的注册,UninstallApp-NT.bat为注销服务
Java Service Wrapper 使用的更多相关文章
- Java Service Wrapper简介与使用
在实际开发过程中很多模块需要独立运行,他们并不会以web形式发布,传统的做法是将其压缩为jar包独立运行,这种形式简单易行也比较利于维护,但是一旦服务器重启或出现异常时,程序往往无法自行修复或重启.解 ...
- 使用 Java Service Wrapper 启动java后台进程服务
Java Service Wrapper (http://wrapper.tanukisoftware.com/doc/english/product-overview.html)可以很方便得在各个平 ...
- java service wrapper 级别为info导致内存剧增直至溢出
上周,公司某一环境发生java service wrapper内存剧增导致最后被自动killed的情况,经过分析,确定导致java service wrapper(后续简称wrapper)守护进程内存 ...
- 利用JAVA Service Wrapper把JAVA程序做成windows服务
今天做了一个读取数据入库的程序.由于读取的数据每天都更新,于是就想把程序做成一个服务,每天定时执行.研究了一下,发现有几种方式可以做.下面我主要记录一下JAVA Service Wrapper方式. ...
- 利用Java Service Wrapper将java项目添加到windows服务中
1.web项目,即tomcat/resin添加至window系统服务,步骤如下:第一步:找到tomcat的bin目录,如:D:\apache-tomcat-8.0.26\bin第二步:打开cmd,cd ...
- 使用Java Service Wrapper在Linux下配置Tomcat应用
前言 Java Service Wrapper是Tanuki Software的一个产品,可以将Java应用注册成Windows或Linux服务,使其可以随系统开机启动,同时可以监控Java应用的状态 ...
- Java Service Wrapper
Java Service Wrapper 将Java 应用程序部署成Windows系统服务Java Service Wrapper 1 Product Overview 1 Editions 2 Me ...
- Java Service Wrapper将java程序设置为服务
有时候我们希望我们java写的程序作为服务注册到系统中,Java Service Wrapper(下面简称wrapper)是目前较为流行的将Java程序部署成Windows服务的解决方案, 本文将讨论 ...
- java service wrapper日志参数设置及优化
一般在容器比如tomcat/weblogic中运行时,我们都是通过log4j控制日志输出的,因为我们现在很多服务端使用java service wrapper(至于为什么使用jsw,原先是比较排斥使用 ...
随机推荐
- 用大O记号法测量算法的效率(Algorithm efficiency Asymptotic notation Big O notation)
为什么要了解算法的效率? 一般来说,编程就是把各种已知的算法代入到自己的代码当中,以此来解决问题.因此,了解各种算法的效率对于我们选择一个合适的算法有很大帮助. 算法的效率由什么确定? 从算法分析的理 ...
- codeforces 242E - XOR on Segment (线段树 按位数建树)
E. XOR on Segment time limit per test 4 seconds memory limit per test 256 megabytes input standard i ...
- C# 成员默认访问权限(public、private、protected、internal)
C# 成员默认访问权限(public.private.protected.internal) 来源 https://www.cnblogs.com/yezongjie/p/20181121Access ...
- 二叉搜索树(BST)详解
前言:平衡树的前置知识吧 二叉搜索树的定义: 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于或等于它的根节点的值: (2)若右子树不空,则右子 ...
- vue路由原理剖析
单页面应用(SPA)的核心之一是: 更新视图而不重新请求页面, 实现这一点主要是两种方式: 1.Hash: 通过改变hash值 2.History: 利用history对象新特性(详情可出门左拐见: ...
- kafka清理数据日志
背景问题: 使用kafka的路上踩过不少坑,其中一个就是在测试环境使用kafka一阵子以后,发现其日志目录变的很大,占了磁盘很大空间,定位到指定目录下发现其中一个系统自动创建的 topic,__con ...
- Weblate 2.11安装配置文档
一.系统环境: OS:CentOS 6.8 x64 Minimal HostName:Weblate IP:192.168.75.153 Python:2.7.13 pip:9.0.1 Weblate ...
- mysql json 使用 类型 查询 函数
一,对记录的操作 1.创建有json字段的表 -- 创建表 ) , info JSON); 2.插入记录 -- 插入含有json数组的记录 , , "abc", NULL, TRU ...
- 软件补丁问题(SPFA+位运算)
洛谷P2761 1.考虑到所有的错误只有“修复,未修复”两种情况,所以可以用0,1标记压缩状态,采用位运算减少时空浪费. 又考虑到有修复时间的关系,将时间抽象成边,将状态抽象为点(设修复为0,未修复为 ...
- vue--传值
传值:(如果传的是引用类型,当值发生改变时所有绑定他的全都发生改变,如果传的时值类型,就只有他自己发生改变) 父传子: 父页面:父组件定义一个属性 users:[ {name:'张三',positio ...