我在我們的項目中使用了Apache Derby。每次我都必須手動啓動derby服務器,即運行startnetworkserver.bat。是可以安裝它作爲一個Windows Web服務?我也想在Windows啓動列表中添加該服務。因此,每次啓動系統時,系統都會自動啓動。因此,我不必手動啓動服務器。 我使用apache tomcat作爲windows服務。我想爲德比做同樣的事情。將Apache Derby作爲Windows服務運行
回答
檢出JavaServiceWrapper,這是一個廣泛使用的,記錄良好的包裝,使Java程序作爲Windows服務運行。
看看這是Glassfish使用的winsw。需要.NET。
看看Apache Procrun。它是一個Windows可執行文件,允許您將Windows程序安裝/卸載爲Windows服務。
在安裝的服務去如下(從項目現場):
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
或使用服務從查看我的電腦。
哦,它是免費的! ;-)
我遇到了同樣的問題,嘗試使用各種各樣的工具和包裝來獲取Derby作爲Windows服務,其中包括Derby Wiki(http://wiki.apache.org/db-derby/DerbyWindowsService)中描述的所有方法。
無論如何,除了Appache基礎提供的procrun工具外,這些工具都不適用於我,它在tomcat中用於將此服務器作爲Windows服務器使用。所以,下面接下來的步驟:
- 獲取procrun的兩個關鍵文件(http://commons.apache.org/proper/commons-daemon/binaries.html):
- prunsrv.exe - 服務應用程序用於運行應用程序的服務。
- prunmgr.exe - 用於監視和配置已安裝服務的GUI管理器應用程序。
- 將這些文件複製到Derby/bin(假設您有一個名爲Derby的文件夾,它是DERBY_HOME)。
- 要遵循procrun約定,請將這些文件重命名爲derby.exe和derbyw.exe。如果你想使用不同的名字,但你應該修改所附的腳本。
要在windows上創建服務,您必須執行下一個腳本。它被寫入在Derby文件夾的上級文件夾(..)中執行,並且使用便攜版本的Java 32位。
- 注:我已經在不同的行拆分它,但它在只有一條線
德比\ BIN \德比執行。exe文件// // IS DerbyService
--DisplayName = 「德比服務」
--description = 「這是一個德比DATABSE服務器」
--install = 「%CD%\德比\ BIN \ derby.exe」 --startup =自動
--JavaHome 「%CD%\ Java_32_portable」
--Jvm = 「%CD%\ Java_32_portable \ BIN \客戶\ jvm.dll的」
--StartMode =爪哇 - -StopMode = Java
--StartClass = org.apache.derby.drda.NetworkServerControl --StartParams = start
--StopClass = org.apache.derby.drda.NetworkSe rverControl --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 =假「重要。你應該調整粗體部分。
- 設置你的JAVA_HOME變量和您的jvm.dll適當
- 相隔++ JvmOptions內設定自己德比特定參數「;」。例如,添加用戶pasword autentication有:
-Dderby.database.sqlAuthorization = TRUE; -Dderby.user「用戶名」 =密碼
最後,你可以檢查你的服務,以及啓動
net start DerbyService
建議:你可以把所有toghether在我有一個bat文件,您可以在其中定義以前的JAVA_HOME或任何其他必要的變量。
這是因爲原來的問題很長一段時間,反正我想確認我正確設置一個德比服務在我的Windows中使用我的腳本完成了稍有不同的是遵循@Richard P.提供的說明64位:
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"
- 1. 將Jetty 7作爲Windows服務運行
- 2. 將lighttpd作爲Windows服務運行
- 3. 將WEBrick作爲Windows服務運行
- 4. 將Selenium RC作爲Windows服務運行
- 5. 將Django作爲Windows服務運行
- 6. 將Elastic Search作爲Windows服務運行
- 7. 將.bat作爲Windows服務運行
- 8. 將JAR作爲Windows服務運行
- 9. 將IKVM exe作爲Windows服務運行
- 10. 將Tomcat Servlet作爲Windows服務運行
- 11. 運行Web服務作爲Windows服務
- 12. 作爲服務器運行的Windows 7
- 13. 運行Apache作爲服務的好處?
- 14. 在Windows上運行Apache Geode作爲服務的推薦方式
- 15. Apache Tomcat配置文件,Windows Server 2012,未作爲服務運行
- 16. 作爲Windows服務運行咆哮
- 17. 運行Python腳本作爲Windows服務
- 18. 運行WCF Windows服務作爲InstanceContextMode.PerCall
- 19. PCSC.InvalidContextException作爲Windows服務運行時
- 20. 運行JBoss 7.1.1.Final作爲Windows服務
- 21. 在Windows上作爲服務運行Redis
- 22. 將WSO2作爲Windows服務運行時,代理不起作用
- 23. 將Rails作爲Windows服務運行時,系統DSN不工作
- 24. Apache Camel路由作爲Windows服務
- 25. 使用NIO作爲Windows服務運行Tomcat服務器
- 26. 如何停止作爲Windows服務運行的web.py服務器
- 27. 在Windows中運行Python Web服務器作爲服務
- 28. 運行硒服務器和ChromeDriver作爲Windows服務
- 29. 運行的任務作爲Windows服務進行IIS
- 30. 讓WSO2 IOT服務器作爲Windows服務運行
對不起,但我是一個java的傢伙。 –
Glassfish是一個相當大的Java項目。 –