У меня есть приложение, которое настроено как демон в 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
Но когда я попытался настроить параметр javamelody.storage-directory с помощью переменной JAVA_OPTS, он больше не работал:
[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
, но это не помогло.