- 浏览: 544291 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (340)
- Spring (4)
- Hibernate (2)
- Linux (34)
- Oracle (145)
- Eclipse (1)
- UML (1)
- HTML&&JAVASCRIPT (11)
- JAVA (33)
- 设计模式 (1)
- 版本控制 (1)
- wrap框架 (3)
- IBATIS (5)
- Ruby (1)
- DWR (1)
- MINA (11)
- JBPM (2)
- 缓存技术 (4)
- 网络 (3)
- 应用服务器 (1)
- GWT (5)
- 杂谈 (2)
- ICE (4)
- XML (2)
- ArcGis (2)
- Flex (8)
- junit单元测试 (1)
- SNMP (1)
- 存储 (1)
- office (1)
- MongoDB (0)
- Greenplum (3)
- 管理点滴 (1)
- C++ (6)
- 网络入门 (3)
- Tomcat (7)
- JMX (0)
- webservice (1)
- Oracle的10046事件 (1)
- Library cache内部机制详解 (1)
- expdp通过dblink来导入 (1)
最新评论
-
yuanliangding:
有没有关于mock的更多知识。
基于mock对象和JUnit框架简化Spring Web组件单元测试 -
saup007:
ssh端口不是22,怎么搞呢?
Greenplum 学习笔记 -
springmvc-freemarker:
java开源项目源码实例下载
Apache上全部JAVA开源项目简介 -
bobbell:
哇塞,你真厉害,整理的非常全面。我是一个java barcod ...
Greenplum 学习笔记 -
wsj55133245513324:
这不是bug,你将日志级别从debug提升到INFO 就好了 ...
Spring,smppapi,apache mina, ssl快速实现安全的smpp(5)
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
# 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 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
发表评论
-
Apache上全部JAVA开源项目简介
2011-05-12 17:16 1865最近接触Jakarta-Common-BeanU ... -
主题:JAVA NIO 简介
2011-04-15 11:48 9481. 基本 概念 IO 是主存和外部设备 ( 硬盘、终端和 ... -
JNDI在Java EE中的应用
2011-04-01 15:52 1027一、JNDI在Java EE中的应用JNDI技术是Java E ... -
Spring使用Quartz调度器 实现时间点任务(Spring in Action中文版)
2011-03-10 14:08 9587.3.2 使用Quartz调度器 Quartz调度器为调度 ... -
一个分页控件,适合大数据量。可以替换ext的分页控件
2010-11-08 15:44 1089<!doctype html public " ... -
Java的java.nio.Buffer缓冲区基础
2010-10-30 11:02 705缓冲区基础 抽象类Buffer是java.nio包支持缓 ... -
NIO ByteBuffer使用方法
2010-10-30 10:48 1219缓冲区分配和包装 在能够读和写之前,必须有一个缓冲区,用静态方 ... -
What is a Java Thread and How does it work?
2010-10-21 14:27 982A java thread is an execution c ... -
HASH表原理
2010-09-19 16:43 843今天由于天气不好 ... -
使用Apache CXF创建Web Service
2009-12-30 09:30 883官方主页:http://cxf.apache.org/ ... -
java.io.File中的绝对路径和相对路径.
2009-11-12 11:26 4956File类是用来构造文件或文件夹的类,在其构造函数中要求传 ... -
JavaScript极速狂飙:大容量字符型数组的快速检索
2009-06-19 20:19 1058JavaScript 在大容量数组 ... -
谈谈JavaScript中的数组、集合及效率
2009-06-19 20:15 1105数组是JavaScript提供的一个内部对象,它是一个标准的集 ... -
log4jxml配置
2009-05-19 14:45 1079<?xml version="1.0 ... -
log4j日志配置
2009-05-19 11:54 898关键字: apache log4j 1、配置根Logg ... -
bat语法的用法
2009-05-15 14:13 1452首先,批处理文件是 ... -
JUnit学习笔记
2009-05-15 10:15 1408这是我在学习的过程中整理记录下来的,其中参考了网上许多文章 ... -
接口和抽象类的区别
2009-04-30 15:15 1378区别一,两者表达的概念不一样。抽象类是一类事物的高 ... -
如何Gwt中使用Session
2008-12-30 13:54 3107在GWT中可以直接使用session信息,只需要用r ... -
轻松实现Apache,Tomcat集群和负载均衡
2008-07-09 16:54 1030轻松实现Apache,Tomcat集群和负载均衡 ...
相关推荐
使用Wrapper将Java Application程序封装为Windows下面的服务
压缩包内包含windows可执行脚本,简单的修改自带的配置文件,即可将java可执行程序注册为windows服务,并且自带安装和卸载程序
ChatRoom.java 为客户端程序聊天室主界面,负责接收、发送聊天内容与服务器端的Connection.java 亲密合作。 Windowclose 为ChatRoom.java的内部类,负责监听聊天室界面的操作,当用户退出时返回给服务器信息。 Clock...
提供java jni示例程序,linux so工程,windows dll工程,将科大讯飞语音合成程序封装成windows支持的dll和linux支持的so并且导出api,java使用jni直接调用。代码均已编译测试通过,需要appid和mscdll则可以自己去...
Java程序包装器(纯绿色软件) 将Windows下的Java程序封装成exe启动方式,烦人的cmd启动窗口不再出现了。 请先看包内的使用说明。
ChatRoom.java 为客户端程序聊天室主界面,负责接收、发送聊天内容与服务器端的Connection.java 亲密合作。 Windowclose 为ChatRoom.java的内部类,负责监听聊天室界面的操作,当用户退出时返回给服务器信息。 Clock...
launch4j是Java应用程序的Windows本地可执行文件 (.exe) 封装器。Launch4j是一个开源的安装程序,将您的jar文件打包成操作系统...Launch4j更加吸引人的地方是,在启动Java程序之前或者之中,支持闪屏(splash screen)。
将java的jar文件打包成.exe文件,可以再windows上运行
将java程序打成jar包,并将其在windows和linux下定时执行的全过程,以及常见问题的提出和解释,有详细的图解。该java程序是一个从数据库a取得数据并将其插入到数据库b中。
连结程序使用该信息在.EXE文件中建立一个表格,在加载程序时,Windows使用它将呼叫转换为Windows函数。 WINDOWS程序设计选项 为说明Windows程序设计的多种技术,本书提供了许多范例程序。这些程序使用C语言撰写并...
开源OCR引擎Tesseract的Java API封装Tess4J。 下载后需要自己编译生成jar文件,再按照说明导入到程序中使用。识别率比Asprise高不少。 但注意此引擎需要在32位JVM下运行,只支持Windows。
Java程序可以在任何计算机、操作系统和支持Java的硬件设备上运行。这意味着开发人员只需编写一次代码,就可以在多个平台上运行,大大提高了开发效率和应用程序的可移植性。 Java的应用领域非常广泛。它被广泛用于...
ChatRoom.java 为客户端程序聊天室主界面,负责接收、发送聊天内容与服务器端的Connection.java 亲密合作。 Windowclose 为ChatRoom.java的内部类,负责监听聊天室界面的操作,当用户退出时返回给服务器信息。 Clock...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
ChatRoom.java 为客户端程序聊天室主界面,负责接收、发送聊天内容与服务器端的Connection.java 亲密合作。 Windowclose 为ChatRoom.java的内部类,负责监听聊天室界面的操作,当用户退出时返回给服务器信息。 ...
在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程...
在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程...
在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程...
在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程...