RefreshScoped создание бина - PullRequest
       9

RefreshScoped создание бина

0 голосов
/ 29 августа 2018

У меня есть такой класс конфигурации с проверкой в ​​поле имени.

@Component
@ConfigurationProperties("person")
@RefreshScope
@Validated
public class PersonConfiguration {

    @NotBlank
    public String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

@RestController
class MessageRestController {

    @Autowired
    private PersonConfiguration personConfig;

    @RequestMapping("/message")
    String getMessage() {
        return personConfig.getName();
    }
}

person:
    name: aaaa

Мне удалось успешно запустить приложение весенней загрузки с указанными выше подробностями. Когда я изменяю конфигурацию на это

person:
    name: 

с пустым полем имени, я не вижу обязательного исключения на PersonConfiguration из-за пустого поля имени сразу. Я вижу исключение привязки только тогда, когда я делаю вызов rest, как этот localhost: 8080 / message, который обращается к PersonConfiguration. Я как будто должен ждать, пока что-то получит доступ к PersonConfiguration, чтобы увидеть исключение привязки.

Это как должно работать? Есть ли способ вызвать исключение привязки мгновенно, когда есть недопустимые изменения в git config, не дожидаясь, пока что-нибудь получит доступ к конфигурации

...