Squeak.ru - шаблоны программирования

Как вручную перезагрузить файл свойств из Spring messageSource

Для Spring Framework я хочу вручную перезагрузить данные внутри файла свойств. На самом деле, нужно написать сервлет перезагрузки, который будет вручную перезагружать данные, когда я вручную запускаю этот файл сервлета.

Я уже определил конфигурацию spring для messageSource.

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"
        p:basename="classpath:/message" />

Но не хотите автоматически перезагружаться через определенное время, например, можно автоматически перезагружать при настройке:

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"
            p:basename="classpath:/message"
            p:cacheSeconds="1" />

Я пробовал раньше с помощью clearCaches(), но не с автоматической перезагрузкой.

04.04.2016

Ответы:


1

Сейчас это работает. Необходимо внедрить messageSource в файл сервлета и вызвать clearCache(). Он очищает предыдущие данные свойств и перезагружает обновленный файл свойств.

В ReloadServlet.java

ReloadableResourceBundleMessageSource rs = Global.getBean("messageSource", ReloadableResourceBundleMessageSource.class);
rs.clearCache();

В Global.java

private static ApplicationContext context;

public static <T> T getBean(String s, Class<T> type) {
        return context.getBean(s, type);
}

Спасибо.

07.04.2016

2

Я не знаю, что вы имеете в виду вручную перезагрузить файл свойств. Spring уже предоставляет для загрузки properties файл, как показано ниже.

Настройте файл properties в файле конфигурации Spring. Например. applicationContext.xml или spring-beans.xml

<util:properties id="MY_CONFIG" location="classpath:MY_CONFIG.properties"/>

В ваш sping bean введите, как показано ниже

@Resource(name = "MY_CONFIG")
private Properties properties;

Ваш сервлет вызывает этот spring bean.

Обновить

Если вы хотите напрямую загрузить файл из сервлета или других классов

Загрузить файл свойств в Servlet/JSP

04.04.2016
  • Ручная перезагрузка свойств означает, что если вы добавите новую пару «ключ = значение» в файл свойств, не нужно повторно развертывать это веб-приложение, чтобы обновить изменения в файле свойств. Вместо этого напишите новый файл сервлета, введите источник сообщения и вручную запустите этот сервлет, чтобы перезагрузить файл свойств, который обновит мои изменения без повторного развертывания веб-приложения. 05.04.2016
  • stackoverflow.com/questions/14117117/ 05.04.2016
  • Я пробовал все, демо. Но не работает :). Для конфигурации cacheSeconds он автоматически перезагружается каждые минуты, которые мы определили. Это снижает производительность производства. Вот почему я нахожу ручную перезагрузку после того, как изменил файл свойств. 05.04.2016
  • Вы хотите получить актуальные данные. Но вы не хотите перезагружать каждую минуту в секунду из-за производительности. Даже если вы используете FileChangeListener какого-либо API, этот API должен сам проверять каждую минуту или секунду. 05.04.2016
  • Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

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

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...