我有一个在Centos 7上配置为守护程序的应用程序。此应用程序使用Java Melody,并且我需要使用javamelody.storage-directory
属性更改默认输出文件夹。该应用程序是一个Springboot应用程序(配置为与Tomcat一起运行)。
以下内容非常有用:
我的服务定义:
[Unit]
Description=My service
[Service]
Environment=PATH=/opt/jdk/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
ExecStart=/bin/bash /opt/myapp/bin/start.sh
User=myUser
WorkingDirectory=/var/app
Restart=on-failure
RestartSec=90
StartLimitInterval=400
StartLimitBurst=3
[Install]
WantedBy=multi-user.target
我的/opt/myapp/bin/start.sh
文件:
#!/bin/sh
exec java -Djavamelody.storage-directory=/mypath -cp "..." MyApp --spring.config.name=appconfig --spring.config.location=location
但是当我尝试使用JAVA_OPTS变量配置javamelody.storage-directory参数时,它不再起作用:
[Unit]
Description=My service
[Service]
Environment=JAVA_OPTS=-Djavamelody.storage-directory=/mypath
Environment=PATH=/opt/jdk/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
ExecStart=/bin/bash /opt/myapp/bin/start.sh
User=myUser
WorkingDirectory=/var/app
Restart=on-failure
RestartSec=90
StartLimitInterval=400
StartLimitBurst=3
[Install]
WantedBy=multi-user.target
和没有-D选项的脚本...
#!/bin/sh
exec java -cp "..." MyApp --spring.config.name=appconfig --spring.config.location=location
在将JAVA_OPTS定义为守护程序配置时,我是否缺少某些内容?
编辑:我也尝试过使用en EnvironmentFile
,但没有帮助。