Spring postConstruct не загружает все сообщения в messageSource - PullRequest
0 голосов
/ 19 апреля 2019
private String message;
@Autowired
private CustomMessageSource   messageSource;
@PostConstruct
public void postConstruct() {
   message= messageSource.getMessage("warning-message");
   logger.log(message);
}

@Component
public class CustomMessageSource extends ReloadableResourceBundleMessageSource {
    @Autowired
    private ApplicationContext  ctx;
    public CustomMessageSource() {
        Locale.setDefault(Locale.ENGLISH);
    }
    public String getMessage(String key) {
        return ctx.getMessage(key, new Object[] { }, getCurrentLocale());
    }
}

в приведенном выше коде, когда выполняется @PostConstruct, я получаю сообщение об ошибке:

источник сообщений не инициализирован - вызовите функцию «обновить» перед доступом к сообщениям через контекст, завершившийся неудачей загрузки приложенияContext

предупреждение-сообщение является ключом в файле messages.properties.

При отладке я обнаружил, что хотя объект messageSource создан, но, вероятно, сообщения не были загружены, что вызывает эту ошибку.

Если вместо post-конструкции я использую его непосредственно в методах выполнения, он работает правильно.Кто-нибудь может пролить свет на это, если это возможно, или я делаю что-то не так?

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