我在我们的项目中使用Apache Derby。每次,我都必须手动启动derby服务器,即运行startnetworkserver.bat文件。是否可以将其安装为Windows Web服务?我还想将该服务添加到Windows启动列表中。这样每次我启动系统时,它都会自动启动。因此,我不必手动启动服务器。 我正在使用Apache Tomcat作为Windows服务。我希望对Derby执行相同的操作。
我在我们的项目中使用Apache Derby。每次,我都必须手动启动derby服务器,即运行startnetworkserver.bat文件。是否可以将其安装为Windows Web服务?我还想将该服务添加到Windows启动列表中。这样每次我启动系统时,它都会自动启动。因此,我不必手动启动服务器。 我正在使用Apache Tomcat作为Windows服务。我希望对Derby执行相同的操作。
prunsrv //IS//TestService --DisplayName="Test Service" \
--Install=prunsrv.exe --Jvm=auto --StartMode=jvm --StopMode=jvm \
--StartClass=org.apache.SomeStartClass --StartParams=arg1;arg2;arg3 \
--StopClass=org.apache.SomeStopClass --StopParams=arg1#arg2
之后,您只需使用以下命令启动/停止服务:
net start TestService
net stop TestService
或者从“我的电脑”中使用服务视图。
哦,而且它是免费的!;-)
要在Windows上创建服务,必须执行下一个脚本。 它是写入以在Derby文件夹的上一级文件夹(..)中执行,并使用便携式32位Java版本。
Derby\bin\derby.exe //IS//DerbyService
--DisplayName="Derby Service"
--Description="This is a Derby databse server"
--Install="%cd%\Derby\bin\derby.exe" --Startup=auto
--JavaHome "%cd%\Java_32_portable"
--Jvm="%cd%\Java_32_portable\bin\client\jvm.dll"
--StartMode=Java --StopMode=Java
--StartClass=org.apache.derby.drda.NetworkServerControl --StartParams=start
--StopClass=org.apache.derby.drda.NetworkServerControl --StopParams=shutdown
--Classpath="%cd%\Derby\lib\derby.jar;%cd%\Derby\lib\derbyrun.jar;%cd%\Derby\lib\derbynet.jar;%cd%\Derby\lib\derbytools.jar"
++JvmOptions="-Dderby.system.home=%cd%\Derby;-Dderby.install.url=%cd%\Derby\lib;-Dderby.authentication.provider=BUILTIN;-Dderby.storage.pageCacheSize=8000;-Dderby.storage.pageSize=20000;-Dderby.database.sqlAuthorization=false"
重要。 您应该调整粗体部分。
最后,您可以使用以下命令检查服务是否正常启动:
net start DerbyService
原问题已经很久了,但是我想确认一下,我是否按照@Richard P提供的指示,在我的Windows 64位系统中正确设置了Derby服务。我的脚本略有不同,如下所示:
set JAVA_HOME=C:\java\jdk1.8.0_25
set DERBY_INSTALL=C:\tools\db-derby-10.13.1.1-bin
%DERBY_INSTALL%\bin\derby.exe //IS//DerbyService --DisplayName="My Derby Service" --Description="My Derby Database Engine Service" --Install="%DERBY_INSTALL%\bin\derby.exe" --Startup=auto --JavaHome "%JAVA_HOME%" --Jvm="%JAVA_HOME%\bin\client\jvm.dll" --StartMode=Java --StopMode=Java --StartClass=org.apache.derby.drda.NetworkServerControl --StartParams=start --StopClass=org.apache.derby.drda.NetworkServerControl --StopParams=shutdown --Classpath="%DERBY_INSTALL%\lib\derby.jar;%DERBY_INSTALL%\lib\derbyrun.jar;%DERBY_INSTALL%\lib\derbynet.jar;%DERBY_INSTALL%\lib\derbytools.jar" ++JvmOptions="-Dderby.system.home=%DERBY_INSTALL%;-Dderby.install.url=%DERBY_INSTALL%\lib;-Dderby.authentication.provider=BUILTIN;-Dderby.storage.pageCacheSize=8000;-Dderby.storage.pageSize=20000;-Dderby.database.sqlAuthorization=false"