У нас есть приложение JSF на WildFly 8, которое использует традиционный механизм с интернационализацией текста, имея пакеты сообщений для немецкого и английского языков в папке WEB-INF\classes
WAR и конфигурацию в faces-config.xml
, сопоставляя имя с ним и перечисляя локали. Приложение не имеет подключения к базе данных, но использует службы REST для связи со вторым приложением.
Теперь нам нужно иметь возможность более легко изменять текст, то есть не нужно создавать новый файл WAR и выполнять развертывание при изменении текста. Поэтому мне нужен механизм, чтобы пакеты сообщений находились за пределами WAR, но при этом я мог использовать их, как и раньше, на страницах XHTML.
Двумя необязательными требованиями будут изменение текста и обновление сообщений в приложении без перезапуска приложения (приоритет 2) и наличие пакета по умолчанию в WAR, который перезаписывается внешним пакетом (приоритет 3).
Моя мысль заключалась в том, чтобы использовать что-то вроде конфигурации Apache commons для чтения файла свойств в bean-компоненте с областью действия приложения и предоставления получателя под именем EL, которое использовалось ранее. Но почему-то кажется, что нужно заново реализовать существующий механизм и что это должно быть как-то проще, может быть, даже только с ядром Java EE.
Кто-то использовал этот механизм таким образом и может указать мне на какой-нибудь пример/описание деталей или у него есть лучшая идея для реализации перечисленных требований?