`
wjboy49
  • 浏览: 273963 次
  • 性别: Icon_minigender_1
  • 来自: 湖南岳阳
社区版块
存档分类
最新评论

将标准的java程序封装为Windows下面的服务

    博客分类:
  • java
阅读更多

1、首先到请下载最新版本的Java Service Wrapper,
可以到 http://wrapper.tanukisoftware.org/doc/english/introduction.html 原始站点下载最新版。
也可以使用本站使用中的一个版本 点我下载
2、准备如下文件,复制到test目录,这些文件可以从下载包中找到:
wrapper.dll
wrapper.exe
wrapper.jar
3、编写wrapper.conf,也放在同一级目录下面,内容如下

 

 
# Java Application完整路径
wrapper.java.command=java

wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp

#定义程序运行的classpath
## 注意你需要的jar都写上,包括wrapper.jar和当前目录(点)
wrapper.java.classpath.1=wrapper.jar
wrapper.java.classpath.2=d:/tomcat/shared/lib/commons-logging-1.1.jar
wrapper.java.classpath.3 = . 


# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path.1=./

# Java Additional Parameters
#wrapper.java.additional.1=

# Initial Java Heap Size (in MB)
# 初始化的内存使用数量
#wrapper.java.initmemory=16

# Maximum Java Heap Size (in MB)
# 最大的内存使用数量
#wrapper.java.maxmemory=64

# 运行的Main Class
# 请携带路径,写上完整的运行主类的全名
wrapper.app.parameter.1= mypackage.MyMainService

# Port which the native wrapper code will attempt to connect to
# 占用的端口,不要可存在的有冲突即可。用于与服务的通信。
wrapper.port=15013

wrapper.console.format=PM
wrapper.console.loglevel=INFO
wrapper.logfile=Beanskt.log
wrapper.logfile.format=LPTM
wrapper.logfile.loglevel=INFO

wrapper.logfile.maxsize=0
wrapper.logfile.maxfiles=0
wrapper.syslog.loglevel=NONE

#window服务配置
#在控制台运行时的标题
wrapper.console.title=My Service
#服务名
wrapper.ntservice.name=My Service

# 显示名称
wrapper.ntservice.displayname= My Service

# 描述
wrapper.ntservice.description=sample Service

# 依赖项
wrapper.ntservice.dependency.1=

# 启动模式: AUTO_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START

# 是否交互.
wrapper.ntservice.interactive=false

 4、运行测试,安装服务
》测试运行是否正常
wrapper.exe -c wrapper.conf
》安装服务
wrapper.exe -i wrapper.conf
》卸载服务
wrapper.exe -r wrapper.conf
》启动
wrapper.exe -t wrapper.conf
》停止
wrapper.exe -p wrapper.conf

提示:
服务一般都是连续运行的,所以你的代码一般都是包含在一个死循环里面的。比如
while(true){
if(forceStop){
break;
}
try{
// 代码的主体
}catch(Exception ex){
// 异常处理,防止循环退出
}
}

附属一个我的完整版的配置文件

 

 
#********************************************************************
# Wrapper Properties
#********************************************************************
# Java Application
wrapper.java.command=java
# Java Main class.  This class must implement the WrapperListener interface
#  or guarantee that the WrapperManager class is initialized.  Helper
#  classes are provided to do this for you.  See the Integration section
#  of the documentation for details.
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
# Java Classpath (include wrapper.jar)  Add class path elements as
#  needed starting from 1
wrapper.java.classpath.1=d:/tomcat/shared/lib/java2000.jar
wrapper.java.classpath.2=d:/tomcat/shared/lib/commons-logging-1.1.jar
wrapper.java.classpath.3=wrapper.jar
wrapper.java.classpath.4=.
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path=./
# Java Additional Parameters
# wrapper.java.additional.1=-Djava.ext.dirs=../lib;../tools/lib
# wrapper.java.additional.2=-Dphoenix.home=..
# wrapper.java.additional.3=-Djava.security.policy=jar:file:phoenix-loader.jar!/META-INF/java.policy
# wrapper.java.additional.4=-Djava.security.manager
# Initial Java Heap Size (in MB)
wrapper.java.initmemory=16
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=64
# Application parameters.  Add parameters as needed starting from 1
wrapper.app.parameter.1=com.triuse.tools.Downloador
#********************************************************************
# Wrapper Advanced Properties
#********************************************************************
# Port which the native wrapper code will attempt to connect to
wrapper.port=15013
# Number of seconds to allow for the JVM to be launched and contact the wrapper before the
#  wrapper should assume that the JVM is hung and terminate the JVM process.  0 means never
#  time out.  Defaults to 30 seconds.
wrapper.startup.timeout=30
# Number of seconds to allow between the wrapper pinging the JVM and the response.  0 means
#  never time out.  Defaults to 30 seconds.
wrapper.ping.timeout=30
# Number of seconds to allow for the JVM to shutdown before the wrapper should assume that
#  the JVM is hung and terminate the JVM process.  0 means never time out.  Defaults to 30
#  seconds.
wrapper.shutdown.timeout=30
# The Wrapper detects when an application calls System.exit() and treats this as a request
#  to stop the server by default.
#wrapper.disable_shutdown_hook=TRUE
# Tell the Wrapper to request a JVM thread dump if the JVM fails to exit when requested.
#wrapper.request_thread_dump_on_failed_jvm_exit=TRUE
#********************************************************************
# Wrapper Logging parameters
#********************************************************************
# Format of output for the console.  (See docs for formats)
wrapper.console.format=PM
# Log Level for console output.  (See docs for log levels)
wrapper.console.loglevel=INFO
# Log file to use for wrapper output logging.
wrapper.logfile=./logs/wrapper.log
# Format of output for the log file.  (See docs for formats)
wrapper.logfile.format=LPTM
# Log Level for log file output.  (See docs for log levels)
wrapper.logfile.loglevel=INFO
# Maximum size that the log file will be allowed to grow to before
#  the log is rolled. Size is specified in bytes.  The default value
#  of 0, disables log rolling.  May abbreviate with the 'k' (kb) or
#  'm' (mb) suffix.  For example: 10m = 10 megabytes.
wrapper.logfile.maxsize=5m
# Maximum number of rolled log files which will be allowed before old
#  files are deleted.  The default value of 0 implies no limit.
wrapper.logfile.maxfiles=0
# Log Level for sys/event log output.  (See docs for log levels)
wrapper.syslog.loglevel=NONE
#********************************************************************
# Wrapper Unix daemon parameters
#********************************************************************
# File to write process ID to
#wrapper.pidfile=/var/run/phoenix.pid
#********************************************************************
# Wrapper Windows Properties
#********************************************************************
# Title to use when running as a console
wrapper.console.title=Triuse Downloador 1.0
#********************************************************************
# Wrapper Windows NT/2000/XP Service Properties
#********************************************************************
# WARNING - Do not modify any of these properties when an application
#  using this configuration file has been installed as a service.
#  Please uninstall the service before modifying this section.  The
#  service can then be reinstalled.
# Name of the service
wrapper.ntservice.name=Triuse Downloador
# Display name of the service
wrapper.ntservice.displayname=Triuse Downloador
# Description of the service
wrapper.ntservice.description=Triuse Downloador 1.0
# Service dependencies.  Add dependencies as needed starting from 1
wrapper.ntservice.dependency.1=
# Mode in which the service is installed.  AUTO_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START
# Priority at which the service is run.  NORMAL, LOW, HIGH, or REALTIME
wrapper.ntservice.process_priority=NORMAL
# Allow the service to interact with the desktop.
wrapper.ntservice.interactive=false

 
分享到:
评论

相关推荐

    Wrapper将Java Application程序封装为Windows下面的服务

    使用Wrapper将Java Application程序封装为Windows下面的服务

    java程序做成windows服务

    压缩包内包含windows可执行脚本,简单的修改自带的配置文件,即可将java可执行程序注册为windows服务,并且自带安装和卸载程序

    java Socket实现聊天程序

    ChatRoom.java 为客户端程序聊天室主界面,负责接收、发送聊天内容与服务器端的Connection.java 亲密合作。 Windowclose 为ChatRoom.java的内部类,负责监听聊天室界面的操作,当用户退出时返回给服务器信息。 Clock...

    科大讯飞语音合成示例(离线版本) java可调用 dll so封装

    提供java jni示例程序,linux so工程,windows dll工程,将科大讯飞语音合成程序封装成windows支持的dll和linux支持的so并且导出api,java使用jni直接调用。代码均已编译测试通过,需要appid和mscdll则可以自己去...

    Java程序包装器

    Java程序包装器(纯绿色软件) 将Windows下的Java程序封装成exe启动方式,烦人的cmd启动窗口不再出现了。 请先看包内的使用说明。

    Java聊天室程序源码(毕业设计)

    ChatRoom.java 为客户端程序聊天室主界面,负责接收、发送聊天内容与服务器端的Connection.java 亲密合作。 Windowclose 为ChatRoom.java的内部类,负责监听聊天室界面的操作,当用户退出时返回给服务器信息。 Clock...

    Java封装器-launch4j

    launch4j是Java应用程序的Windows本地可执行文件 (.exe) 封装器。Launch4j是一个开源的安装程序,将您的jar文件打包成操作系统...Launch4j更加吸引人的地方是,在启动Java程序之前或者之中,支持闪屏(splash screen)。

    java打包成exe的工具

    将java的jar文件打包成.exe文件,可以再windows上运行

    java程序打成jar包,并在windows和linux下定时执行

    将java程序打成jar包,并将其在windows和linux下定时执行的全过程,以及常见问题的提出和解释,有详细的图解。该java程序是一个从数据库a取得数据并将其插入到数据库b中。

    windows 程序设计

    连结程序使用该信息在.EXE文件中建立一个表格,在加载程序时,Windows使用它将呼叫转换为Windows函数。 WINDOWS程序设计选项 为说明Windows程序设计的多种技术,本书提供了许多范例程序。这些程序使用C语言撰写并...

    开源OCR引擎Tesseract的Java API封装Tess4J

    开源OCR引擎Tesseract的Java API封装Tess4J。 下载后需要自己编译生成jar文件,再按照说明导入到程序中使用。识别率比Asprise高不少。 但注意此引擎需要在32位JVM下运行,只支持Windows。

    java笔记:02.windows常用快捷键.md

    Java程序可以在任何计算机、操作系统和支持Java的硬件设备上运行。这意味着开发人员只需编写一次代码,就可以在多个平台上运行,大大提高了开发效率和应用程序的可移植性。 Java的应用领域非常广泛。它被广泛用于...

    Java聊天室程序源码

    ChatRoom.java 为客户端程序聊天室主界面,负责接收、发送聊天内容与服务器端的Connection.java 亲密合作。 Windowclose 为ChatRoom.java的内部类,负责监听聊天室界面的操作,当用户退出时返回给服务器信息。 Clock...

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    Java聊天室程序(源代码)

    ChatRoom.java 为客户端程序聊天室主界面,负责接收、发送聊天内容与服务器端的Connection.java 亲密合作。 Windowclose 为ChatRoom.java的内部类,负责监听聊天室界面的操作,当用户退出时返回给服务器信息。 ...

    java开源包11

    在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程...

    java开源包6

    在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程...

    java开源包9

    在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程...

    java开源包4

    在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程...

Global site tag (gtag.js) - Google Analytics