Spring boot как сервис не подбирает настройки активных профилей - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь запустить Spring Boot как сервис, используя init.d.Я сталкиваюсь с проблемой, что -Dspring.profiles.active = xxx не рассматривается, и Spring сообщает, что активные профили не найдены. Профиль по умолчанию установлен.

Я использую SpringBoot версии 1.5.13.

Ниже приведены мои настройки файла конфигурации

JAVA_OPTS="-Xms2048m -Xmx2048m -XX:+UseG1GC -XX:+UseStringDeduplication -Djsse.enableSNIExtension=false -Djava.security.egd=file:/dev/./urandom"
MODE=service
RUN_ARGS=-Dspring.profiles.active=myprofile

Я даже пытался установить переменные среды RUN_ARGS, но служба все равно не получает его.

Мой файл конфигурации расположен в другой папке по сравнениюв мой файл JAR, и я использовал bootRepackage в моей сборке Gradle, чтобы указать на местоположение (пример, как показано ниже)

bootRepackage {
    mainClass = 'com.test.myapp.MyAppApplication'
    executable = true
    embeddedLaunchScriptProperties =
       [
         'mode': 'service',
         'confFolder': '/etc/myapp/conf'
        ]
    excludeDevtools = true
}

Имя моего bootJar и имя Confфайл такой же.Также я вижу, что указанный confFolder правильно берется внутри bootJar, когда я делаю head -100 myapp.jar

Я использовал ospackage для связывания моего весеннего загрузочного приложения как rpm, а затемЯ развертываю его с помощью yum install и запускаю сервис.

Я не уверен, что мне не хватает.Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 24 октября 2018

Вместо того, чтобы устанавливать -Dspring.profiles.active в RUN_ARGS, я установил его в JAVA_OPTS, а затем приложение запустилось, как и ожидалось.

...