Делитесь файлами application.properties в другом проекте - PullRequest
0 голосов
/ 01 ноября 2019

Ниже показана структура проекта

Core Project
|-config project
|
|-Service project

После сборки основного проекта мы получаем файл Service.jar.

При запуске service.jar я передаю spring.config.additional.location в качестве аргумента командной строки.

java -jar Service-1.0.jar --spring.config.additional-location=C:/Users/Administrator/Desktop/Springboot/

выше spring.config.additional.location пути с файлом application.property и некоторыми XML-файлами. Я могу прочитать файл свойств приложения в сервисном проекте, следуя логике

Application.propertes

external.config=C:/Users/Administrator/Desktop/Springboot/config/

Mian Class

@ImportResource(locations = {
        "${external.config}"+"/spring/service-config.xml",
        "${external.config}"+"/spring/datasource-config.xml"

})
public class ServiceMain {

    public static void main(String[] args) {

        ConfigurableApplicationContext applicationContext = new SpringApplicationBuilder(ServiceMain.class)
                .build()
                .run(args);
        for (String name : applicationContext.getBeanDefinitionNames()) {

        }

    }
}

Подобная логика применяется в конфигурацииПроект приведен ниже, он не работает

@Configuration
public class ConfigurationFactory
{
    @Value("${external.config}")
    public  String extConfPath;

    public String REQ_CONF = extConfPath+"/Configuration.xml";
    public static final String FILTER_XML_CONF = extConfPath+"/DocFilter.xml";
}

Есть ли лучший способ сделать это? Как я могу прочитать внешние application.properties в конфигурационном проекте? Есть ли у нас лучший способ сделать это при весенней загрузке

1 Ответ

1 голос
/ 01 ноября 2019

Поскольку вы занимаетесь разработкой распределенной веб-системы, рекомендуется использовать внешнюю конфигурацию, используемую различными службами, что позволяет обновлять параметры без повторного развертывания. Взгляните на Spring Cloud Config

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...