在Windows 啟動後執行執行程式, 正常可以透過service 使它可以有不用登入下啟動, 然而若要執行exe 或jar 的話, 就不能夠順利進行. 而Winsw 便應運而生.Winsw 是一個轉接器(wrapper) 將exe 轉換成service 執行. 而其中的設定則透過xml 存取. 在示範中, 則以啟動EnonicXP, 一個Java CMS 作示範.
<service> <id>EnonicXPService</id> <name>Enonic XP Service</name> <description>This service runs Enonic XP serving the Intranet.</description> <env name="JAVA_HOME" value="C:\software\jdk.8.0_101"/> <env name="XP_INSTALL" value="C:\server\enonic-xp-intranet"/> <env name="XP_HOME" value="%XP_INSTALL%-home"/> <env name="DEFAULT_JAVA_OPTS" value="-agentpath:C:\software\yourkit-win64\yjpagent.dll -server -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -Xms6g -Xmx6g"/> <executable>%JAVA_HOME%\jre\bin\java.exe</executable> <arguments>%DEFAULT_JAVA_OPTS% -Dxp.install=%XP_INSTALL% -Dfile.encoding=UTF8 -classpath "%XP_INSTALL%\lib\*" com.enonic.xp.launcher.LauncherMain</arguments> <log mode="roll-by-size"> <sizeThreshold>10240</sizeThreshold> <keepFiles>3</keepFiles> </log> <onfailure action="restart"/> <serviceaccount> <domain>mycompanydomain.test</domain> <user>serviceuser-test</user> <password>secretpassword</password> <allowservicelogon>true</allowservicelogon> </serviceaccount> </service>
參考資料
- Winsw, kohsuke, Github,
https://github.com/kohsuke/winsw
Leave a Reply