Java Service Wrapper
Java Service Wrapper
将Java 应用程序部署成Windows系统服务Java Service Wrapper 1
Methods of Integrating with the Java Service Wrapper 2
Method 1 - WrapperSimpleApp Integration (Windows) 2
Export your program as a runnable jar 2
Modifying the "wrapper.conf" File 3
Initial Java Heap Size (in MB) 4
Maximum Java Heap Size (in MB) 4
Product Overview
The Java Service Wrapper enables a Java Application to be run as a Windows Service or UNIX Daemon. It also monitors the health of your Application and JVM.Please select the specific download for the platform and edition which meets your needs. All editions of the Wrapper can be downloaded freely. The Standard and Professional editions require that a valid license be present in the configuration file to run.
Editions
The Java Service Wrapper comes in three editions.
· Professional Edition - Includes all basic and advanced features.
· Standard Edition - Includes all basic and some advanced features.
· Community Edition - Includes all basic features.
Methods of Integrating with the Java Service Wrapper
There are currently four ways which a Java application can integrate with the Java Service Wrapper. Three of which will work out of the box without any additional coding.
The first step is to decide which of these four methods is best for your application. After a brief overview of each of the four options, we will go into detail how to integrate an application using each.
· Integration Method 1 (WrapperSimpleApp)
· Integration Method 2 (WrapperStartStopApp)
· Integration Method 3 (WrapperListener)
· Integration Method 4 (WrapperJarApp)
Method 1 - WrapperSimpleApp Integration (Windows)
建立新文件夹D:\MyService 并新建bin、lib、conf、logs四个子文件
Export your program as a runnable jar
将你的项目以runnable jar file(必须以此形式导出)的形式导出(命名为A.jar)。
Installing Wrapper Files
根据你的操作系统平台以及操作系统类型下载合适的Java Service Wrapper版本 ,链接地址:http://wrapper.tanukisoftware.com/doc/english/download.jsp ,解压到任意目录。
bin directory
拷贝Java Service Wrapper解压文件中src\bin目录下的App.bat.in、InstallApp-NT.bat.in、UninstallApp-NT.bat.in以及bin目录下的wrapper.exe到D:\MyService\bin目录下。
重命名App.bat.in、InstallApp-NT.bat.in、UninstallApp-NT.bat.in为App.bat、InstallApp-NT.bat、UninstallApp-NT.bat。
lib directory
拷贝Java Service Wrapper解压文件中lib目录下的wrapper.jar和wrapper.dll到D:\MyService\lib。
拷贝工程A.jar到D:\MyService\lib。
添加工程A依赖的第三方包到D:\MyService\lib。
conf directory
拷贝Java Service Wrapper解压文件中conf 目录下的wrapper.conf 到D:\MyService\conf。
logs directory
拷贝Java Service Wrapper解压文件中conf 目录下的wrapper 到D:\MyService\logs。
Modifying the "wrapper.conf" File
java executable
下载和安装java sdk,并设置环境变量(计算机-属性-高级系统设置-高级-环境变量):
在系统变量中设置:
变量名:JAVA_HOME
变量值:D:\Program Files\Java\jdk1.7.0_21
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
wrapper.java.command=%JAVA_HOME%/bin/java
main class
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
classpath
wrapper.java.classpath.1=../lib/A.jar
wrapper.java.classpath.2=../lib/wrapper.jar
添加其他项目A 所需的第三方包
library path
wrapper.java.library.path.1=../lib
Additional Parameters
wrapper.java.additional.1=-Dprogram.name=App.bat
Initial Java Heap Size (in MB)
wrapper.java.initmemory=128
Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=512
application parameters
wrapper.app.parameter.1=B(the main class in A.jar)
Trying It Out
完成以上步骤后,即可点击bin\App.bat,若未出现错误提示,则表明配置成功。即可点击bin\InstallApp-NT.bat将java应用程序部署成Windows系统服务。可进入控制版面-管理工具-服务,查看系统服务部署成功与否,并启动该服务。UninstallApp-NT.bat用于卸载该服务。
附录:
另附一个java写的服务器工程(MapUpdateS)用于实践以及部署好Windows服务文件(MyService)。
使用前可修改MapUpdateS下mapupdates.class下的IP地址为你本机地址(0.0.0.0),然后导出jar文件MapUpdates.jar到MyService\lib目录.成功启动系统服务后,可在浏览器地址栏输入 0.0.0.0:8083以及http://0.0.0.0:8082/cache?wsdl查看服务是否正常工作。
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 使用
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/sinat_26279177/article/details/70807173 1 简介 ...
- Java Service Wrapper将java程序设置为服务
有时候我们希望我们java写的程序作为服务注册到系统中,Java Service Wrapper(下面简称wrapper)是目前较为流行的将Java程序部署成Windows服务的解决方案, 本文将讨论 ...
- java service wrapper日志参数设置及优化
一般在容器比如tomcat/weblogic中运行时,我们都是通过log4j控制日志输出的,因为我们现在很多服务端使用java service wrapper(至于为什么使用jsw,原先是比较排斥使用 ...
随机推荐
- 关于qt学习的一点小记录(2)
嗯...这次接了个单 要求图形界面,刚好可以巩固并学习下QT.毫不犹豫的就接了 下面记录下出现的问题: 1. QWidget和QDialog QDialog下的槽函数有accept()与reject( ...
- <转载>僵尸进程
转载http://www.cnblogs.com/scrat/archive/2012/06/25/2560904.html 什么是僵尸进程 僵尸进程是指它的父进程已经退出(父进程没有等待(调用wai ...
- LinQ to SQL 查询
LINQ to SQL 是将对象关系映射到.NET框架中的一种实现.它可以将关系数据库映射为.NET Framework中的一些类. 然后,开发人员就可以通过使用 LINQ to SQL对数据库中的数 ...
- 用dTree组件生成无限级导航树
在做管理系统时不可避免要用到导航树,这种东西只要一次做好,就可以随处运行,目前比较好的组件是dTree,原则上可以达到无限级,当然实际运行中4,5级就已经很多了,dTree的速度还是不错的,而且是J ...
- c++之 数组
数组的定义 数组用于表示一组数值,例如: char arr[5]; 其中,arr称为"数组变量",简称"数组".它表示5个char型数据,我们把每一个数据称为一 ...
- 初始——第一款个人开发上线app store
最初学习iOS开发时就听人建议,程序员应该有自己的博客,来记录每天的收获,于人于己都是一件很有意义的事.但当初作为菜鸟一枚,自认为对一些知识的认识尚浅,写博客这种高大上的事和自己八竿子打不着. 现如今 ...
- [Spring入门学习笔记][Spring的AOP原理]
AOP是什么? 面向切面编程 软件工程有一个基本原则叫做“关注点分离”(Concern Separation),通俗的理解就是不同的问题交给不同的部分去解决,每部分专注于解决自己的问题.这年头互联网也 ...
- C++菱形继承的构造函数
网上搜了很多,大多是关于菱形虚继承的构造函数应该怎么写,或者就是最简单的,四个类都不带参数的构造函数. 本文旨在记录一下困扰了博主1h的问题,非常浅显,有帮助固然好,如果侮辱谁的智商还见谅,当然无限欢 ...
- PHP学习笔记十七【面向对象定义类】
<?php class Person{ public $name; public $age; public function speak(){ echo "Hello world&qu ...
- C++中的条件传送代码
条件传送代码-这种代码先计算一个条件操作的两种结果,然后再条件从而选其中一个-条件传送代码匹配了现代处理器的性能特征(因为现代处理器是流水线) void minmax2(int a[],int b[] ...