使用JavaService让java程序加载为winNT系统服务

1 下载javaService
http://javaservice.objectweb.org/
获得windows的zip压缩版,文件名形如:JavaService-x.x.xx.zip,其中x.x.xx为版本号,当前版本为JavaService-2.0.10.zip,请使用最新版。

2 安装
将JavaService-2.0.10.zip解压缩到c:/JavaService目录下。(其实任意目录下都可以)

3 编写java类
import java.io.*;
import java.text.*;
import java.util.*;

public class Test
{
public static void main(String[] args) throws Exception
{
PrintWriter out=new PrintWriter(new FileWriter("d://javaTest//test.log",true),true);
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
out.println("服务启动在:"+df.format(new Date()));
while(true)
{
out.println("现在时间是:"+df.format(new Date()));
Thread.sleep(1000*5);
}
}
}
保存为任意目录,如:"d:/JavaTest/Test.java",并编译为Test.class;

4 进入c:/JavaService目录,执行如下命令:
JavaService.exe -install MyService "%JAVA_HOME%"/jre/bin/server/jvm.dll -Djava.class.path="%JAVA_HOME%"/lib/tools.jar;d:/javaTest -start Test
其中-install 开关后面的参数是要添加的服务名;-start开关后面的参数是要启动的java类名;这里-Djava.class.path后面参数中的d:/javaTest是我的Test.class所在路径,实际应用中应该添加你的CLASSPATH。
运行后控制台显示“The MyService automatic service was successfully installed”表示安装成功。

需要注意的问题:
(1) %JAVA_HOME%为JDK目录,如果你没有设置,这里用jdk的绝对地址替代;
(2) -Djava.class.path是必须的,因为服务启动的时候无法访问系统的CLASSPATH变量,必须在这里显示指明;
(3) 服务添加成功以后,为自动启动类型,如需更改,需要自行在服务管理器(services.msc)中修改。

5 测试:
运行net start MyService启动服务;
检查d:/javaTest/test.log文件,数据一直在更新;
确认无误后,运行net stop MyService关闭服务;
6 定制
在installJboss.bat中 加入classpath
set XMLBEANS_PATH=%OE_HOME%/lib/xmlbeans/jsr173_1.0_api.jar;%OE_HOME%/lib/xmlbeans/resolver.jar;%OE_HOME%/lib/xmlbeans/xbean.jar;%OE_HOME%/lib/xmlbeans/xbean_xpath.jar;%OE_HOME%/lib/xmlbeans/xmlpublic.jar

set OE_CLASS_PATH=%OE_HOME%/conf;%OE_HOME%/lib/pojo.jar;%OE_HOME%/lib/hibernate-mapping-1.0.jar;%OE_HOME%/lib/resource-model-1.0.jar;%OE_HOME%/lib/antlr-2.7.6.jar;%OE_HOME%/lib/jta-1.0.1B.jar;%OE_HOME%/lib/commons-collections-2.1.1.jar;%OE_HOME%/lib/commons-logging-1.0.4.jar;%OE_HOME%/lib/log4j.jar;%OE_HOME%/lib/dom4j-1.6.1.jar;%OE_HOME%/lib/jaxen-1.1.jar;%OE_HOME%/lib/icu4j-2.6.1.jar
加入classpath
set JBOSS_CLASSPATH=%OE_CLASS_PATH%;%XMLBEANS_PATH%;%JBOSS_CLASSPATH%

调用(加入制定的服务器IP->-params -b 0.0.0.0 )
%2/bin/JBossService.exe -install JBoss %1/jre/bin/%3/jvm.dll -Djava.class.path=%1/lib/tools.jar;%2/bin/run.jar;%JBOSS_CLASSPATH% -start org.jboss.Main -params -b 0.0.0.0 -stop org.jboss.Main -method systemExit -current %2/bin %4 -overwrite



设置内存
SET MAXMEMORY=256
SET MINMEMORY=128

set JAVA_OPTS=%JAVA_OPTS% -Xms%MINMEMORY%m -Xmx%MAXMEMORY%m
rem With Sun JVMs reduce the RMI GCs to once per hour
set JAVA_OPTS=%JAVA_OPTS% -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000


"%jbossexe%" -install "%SVCNAME%" "%jvmdll%" -Djava.class.path="%JBOSS_CLASSPATH%" %JAVA_OPTS% -start org.jboss.Main -stop org.jboss.Main -method systemExit -out "%JBOSS_HOME%/bin/stdout.log" -err "%JBOSS_HOME%/bin/stderr.log" -current "%JBOSS_HOME%/bin" -auto -overwrite
<script type="text/javascript"> dp.SyntaxHighlighter.ClipboardSwf = '/javascripts/syntaxhighlighter/clipboard.swf'; dp.SyntaxHighlighter.HighlightAll('code', true, true); Event.observe(window,'load',function() { fix_image_size($('main'), 700); }); </script>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值