如何将Spring Boot应用程序包装为linux守护程序并将其设置为从application.properties中读取。
要使用application.properties中的参数启动jar,请使用以下命令:
java -Dspring.config.location = / application.properties -jar MyJar.jar
在wrapper.conf中在哪里设置?
我已经尝试过了,但是jar不是从application.properties中的参数开始的。
wrapper.java.command=java
wrapper.java.command.loglevel=INFO
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperJarApp
wrapper.java.classpath.1=../lib/wrapper.jar
wrapper.java.classpath.2=/opt/MyService/lib/MyApp.jar
wrapper.java.library.path.1=../lib
wrapper.logfile=../logs/wrapper.log
wrapper.app.parameter.1=/opt/MyService/lib/MyApp.jar
wrapper.app.parameter.2=-c
wrapper.app.parameter.3=/opt/MyService/lib/conf
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用构建自己的应用程序Tanuki Java Service Wrapper。
设置和配置工作正常,但是通过包装器启动了我的应用程序(也起作用)之后,它会在一段时间后关闭,因为包装器“正在等待JVM发出的信号超时”。
我的应用程序在启动后仍在工作,但仍被关闭。
我目前仍处于设置/测试阶段,因此我只是通过bat文件启动包装程序,而尚未将其作为Windows服务。
我有两个想法,为什么会这样:
1)主线程在启动其他几个线程后终止。我试图让主线程一直等待而不是终止而不是终止,但这无济于事(此外,包装程序也应该在没有主线程的情况下工作)。
2)我的程序主要只是在等待事件(目录监视服务),但是即使我触发了某些事件,它仍然会关闭。
我试图通过禁用JVM ping检查,wrapper.ping.timeout=0但这也没有用,如果我进行了检查,以防应用程序真正挂起,那将是很好的选择。
我正在使用jdk1.7.0_79和wrapper-windows-x86-32-3.5.27。
我已经使用 YAJSW 启动了 java 应用程序,但无法进行远程调试,曾尝试在 wrapper.app.additional 中传递参数以及参数,但当我从 setenv 传递时仍然无法正常工作,然后 YAJSW 以调试模式启动,但不是我的应用程序
wrapper.app.parameter.2 = -Xdebug
wrapper.app.parameter.3 = -Xrunjdwp:transport=dt_socket\\,address=8888\\,server=y\\,suspend=n
Run Code Online (Sandbox Code Playgroud)