- 浏览: 273963 次
- 性别:
- 来自: 湖南岳阳
最新评论
-
ternus:
兄弟,我用boboBrowse 也遇到了排序的问题,上线了讨论 ...
lucene 分组 bobo-Browse 排序的问题 -
luli0822:
Awesome bookmarks of those guru ...
流行的jQuery信息提示插件(jQuery Tooltip Plugin) -
shenbai:
如果你要在前台运行,你应该run得是ElasticSearch ...
ElasticSearch 源码分析 环境入门 -
cl1154781231:
<s:peroperty value="#at ...
关于Struts2中标签的一些心得 -
RonQi:
转载的吗?http://blog.csdn.net/stray ...
利用bobo-browse 实现lucene的分组统计功能
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
发表评论
-
Errors running builder 'DeploymentBuilder' on project_java
2014-10-09 11:54 733此问题一般发生在Myeclipse 保存文件并自动部署时候 ... -
MyEclipse的SVN插件的问题
2012-02-27 14:06 1710我的项目都统一使用了UTF-8编码 查看当前版本,还是提 ... -
Eclipse的SVN插件历史版本乱码的问题
2012-02-27 14:04 0我的项目都统一使用了UTF-8编码 查看当前版本,还是提 ... -
java中的io系统详解
2011-09-16 12:09 1074相关读书笔记、心得文章列表 Ja ... -
hibernate表关联注解
2011-08-02 11:39 1363好久就想玩一下hibernate注解了(因为不用hbm文件,维 ... -
TCP/IP传输层,你懂多少?
2011-05-12 17:13 1652你所不知道的传输层 题记:23页的文档上,满满当当的 ... -
关于Struts2中标签的一些心得
2011-05-06 17:21 1683最近在做Struts2+Hibernet的一个项目,在if标签 ... -
This wizard is not available because it requires a valid professional subscripti
2011-04-18 23:05 1824今天用myeclipse学习UML时,打开UML时出现了: ... -
Tomcat内存、连接数等性能参数设置
2011-04-08 09:59 1194默认参数不适合生产环 ... -
Java 垃圾回收策略调优
2011-03-28 17:52 1553JVM参数调优是一个很头 ... -
Eclipse 或 MyEclipse 不能自动编译 class文件(综合)
2011-03-25 11:50 4678有时候用Eclipse或者MyEclipse 的时候,发现不 ... -
AccessController.doPrivileged 小记
2011-03-24 11:43 1023AccessController.doPrivileged ... -
servlet 读取图片
2011-02-17 15:38 1096String path = "F:/wjbo ... -
获取文件长度http,ftp
2011-01-18 16:09 1683ftp: FTPClient ftp = new FTPCl ... -
类的设计原则
2010-12-13 18:14 1017开闭原则 Software entities ... -
收集的网站
2010-12-09 17:12 846NIO.2 入门,第 1 部分: 异步通道 API http ... -
看Hibernate源码 003 - ID Generator
2010-12-09 16:43 1304Hibernate的id生成有N种策略, 可以通过hbm文件或 ... -
看Hibernate源码 001
2010-12-09 10:40 1055我看书的方式一向是&quo ... -
Hibernate Memcached 配置
2010-12-08 15:39 2111官方网址: http://code.google.com/p/ ... -
tomcat如何配置虚拟目录及虚拟主机
2010-12-02 17:54 2145先说说如何用Eclipse来做servlet开发,那些proj ...
相关推荐
使用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远程...