Postgres триггер для обновления кэша Java

У меня есть веб-приложение на Java (WAR развернут на Tomcat), которое хранит кеш (Map) в памяти. У меня есть база данных Postgres, которая содержитwidgets Таблица:

widget_id | widget_name | widget_value
(INT)       (VARCHAR 50)  (INT)

К карте O / R междуWidget POJOs иwidgets таблицы записей, я использую MyBatis. Я хотел бы реализовать решение, посредством которого кэш Java (карта) обновляется в режиме реального времени всякий раз, когда значение вwidgets таблица изменений. ямог иметь компонент опроса, который проверяет таблицу каждые, скажем, 30 секунд, но опрос просто неЗдесь не похоже на правильное решение. Так вот'что яя предлагаю:

Напишите триггер Postgres, который вызывает хранимую процедуру ()run_cache_updater()Процедура по очереди запускает скрипт оболочки ()run_cache_updater.shСкрипт base-64 кодирует измененныйwidgets запись, а затем сверяет закодированную запись в HTTP-URLJava WAR имеет сервлет, прослушивающий URL-адрес cURLed, и обрабатывает любыеHttpServletRequests отправлено к нему. Он base-64 декодирует запись и каким-то образом превращает ее вWidget POJO.Кеш (Map) обновляется с правильным ключом / значением.

Это решениечувствует неудобно, и поэтому я сначала задаюсь вопросом, как любой гуру Java / Postgres там справится с такой ситуацией. Является ли опрос здесь лучшим / более простым выбором (я просто упрямый?) Есть ли другое / лучшее / более стандартное решение, которое я пропускаю?

Если нет, и это решение является стандартным способом передачи измененных записей из Postgres на уровень приложений, то яЯ задыхаюсь, как написать триггер, хранимую процедуру и сценарий оболочки, чтобы весьwidgets запись передается в оператор cURL. Заранее спасибо за любую помощь здесь.

Ответы на вопрос(1)

Ваш ответ на вопрос