我正在尝试使用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
答案 0 :(得分:2)
解决方案非常简单。我安装了JDK,但JSL正在寻找JRE。在调试模式下运行JSL后,以下提示导致解决方案:“系统找不到指定的注册表项:HKey_LOCAL_ MACHINE \ SOFTWARE \ Javasoft \” 安装JRE解决了这个问题,因为JSL发现了“Java Runtime Environment”注册表项,它不是由JDK创建的。
答案 1 :(得分:0)
应用程序常见问题解答说明了如何通知JSL JRE位置: -