2016-08-29 1 views
1

Я вроде как новый весенний ботинок. Я хочу настроить приложение загрузки весны, чтобы выбрать конкретный файл locale messages.properties, когда при запуске программы используется определенный аргумент arg. Эти поля message.properties будут использоваться для регистрации событий программы, а также для отправки отчетов по электронной почте клиентам.Spring Boot: используйте несколько locale message.properties для ведения журнала в зависимости от значения «args»

Приведенные примеры пригодны только для веб-приложений. И я не мог найти подходящих примеров того, как это можно достичь, используя встроенную технологию пружинной загрузки.

+0

ли вы имеете в виду вы хотите выберите язык для извлечения сообщений, или вы хотите, чтобы вы выбрали совершенно другой набор ресурсов (например, 'error_messages.properties', а не' messages.properties')? –

+0

Я хочу иметь два разных языковых файла: messages_en.properties и messages_de.properties. и fet специфический в зависимости от значения arg –

+0

Тогда я считаю, что ответ Милоша Миливоевича должен сделать трюк! –

ответ

1

Ну, регулярные Spring загрузка только приложение запускается из метода main() - вы можете установить локаль по умолчанию с помощью Locale.setDefault метода, прежде чем запустить Spring приложения, например, так:

@SpringBootApplication 
public class DemoApplication { 

    public static void main(String[] args) { 
    Locale defaultLocale = determineLocaleFrom(args); 
    Locale.setDefault(defaultLocale); 

    ApplicationContext context = SpringApplication.run(DemoApplication.class, args); 

    MessageSource messageSource = context.getBean(MessageSource.class); 
    // when fetching messages, always read from the default locale 
    messageSource.getMessage("my.message.code", null, Locale.getDefault()); 
    } 

} 
+0

Спасибо, но я продолжаю получать эту ошибку: вызвано: org.springframework.context.NoSuchMessageException: сообщения не найдены под кодом 'field1' для locale 'en_US'. –

+0

Я думаю, что ошибка указана достаточно - у вас либо нет соответствующего файла 'messages.properties', либо у вас нет правильного сообщения –

+0

есть файл: messages_en_US.properties и поле есть –

Смежные вопросы