JSL Windows服务无法启动

时间:2012-02-14 14:42:31

标签: java windows service

我正在尝试使用JSL设置Java服务。我可以安装该服务,它显示在service.msc中。但是,一旦我启动服务,它就会挂起“启动”状态。我使用.ini配置整天玩,但无法运行。每次我启动它,它都会挂起。下面是我的.ini,cmdline下提供的命令在标准命令提示符下正常工作。我还试图通过单独提供参数来设置.ini。 我在Windows Server 2003 32bit上,以管理员身份登录。

非常感谢您的帮助!

[defines]
PATH = C:\company\server\client
JAVA = %JAVA_HOME%
PP = %PATH%
P1 = %P2%
P2 = %PP%
ROOT_DIR = %PATH%
WORK_DIR = %ROOT_DIR%\work\server

[service]
appname = HsqlDB
servicename = Hsql DB
displayname = Hsql DB
servicedescription = Hsql DB

stringbuffer = 16000
starttype=demand
loadordergroup=someorder    
useconsolehandler=false
stopclass=java/lang/System 
stopmethod=exit
stopsignature=(I)V

premainmethod=run 
premainsignature=()I
premain.modules=threaddump

premain.threaddump.class=com.roeschter.jsl.ThreadDumpListener
premain.threaddump.method=start
premain.threaddump.wait=3000
premain.threaddump.critical=no
premain.threaddump.interface=127.0.0.1
wrkdir=%PATH%

cmdline = java -cp C:\company\server\core\lib\com.springsource.org.hsqldb-1.8.0.10.jar org.hsqldb.Server -database.0 file:database -dbname.0 name

2 个答案:

答案 0 :(得分:2)

解决方案非常简单。我安装了JDK,但JSL正在寻找JRE。在调试模式下运行JSL后,以下提示导致解决方案:“系统找不到指定的注册表项:HKey_LOCAL_ MACHINE \ SOFTWARE \ Javasoft \” 安装JRE解决了这个问题,因为JSL发现了“Java Runtime Environment”注册表项,它不是由JDK创建的。

答案 1 :(得分:0)

应用程序常见问题解答说明了如何通知JSL JRE位置: -

  1. 它从配置文件
  2. 中读取jrepath参数
  3. 它在与jsl.exe
  4. 共处的bin directoy中找到了一个java.dll
  5. 它在与jsl.exe共存的jre \ bin directoy中找到了一个java.dll
  6. 它在注册表中查找JRE路径
  7. 网址为http://jslwin.sourceforge.net/faq.html