Конфигурация среды выполнения RefreshScope без сервера конфигурации Spring Cloud

Можно ли обновить свойство (api-url) с помощью вызова POST rest api / refresh с помощью @RefreshScope без настройки сервера конфигурации облака Spring и настройки клиента конфигурации облака Spring.

например, Consumer.java

@Service
public class Consumer {

@value(${api-url})
private String apiUrl;

api-url теперь считывается из application.yml. Я хочу изменить api-url во время выполнения без перезапуска сервера.

Возможно ли это в весенней загрузке?


person user2057006    schedule 02.05.2017    source источник


Ответы (1)


Да, просто включите Spring Cloud Starter

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.2.RELEASE</version>
</parent>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Dalston.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter</artifactId>
    </dependency>
</dependencies>
person spencergibb    schedule 04.05.2017
comment
Он работает для свойства, но если я изменю spring.active.profile в application.yml, требуемое значение свойства не будет загружено из spring.active.profile. Я отправлю новый вопрос по этому поводу. - person user2057006; 05.05.2017