Предположим, у меня есть Java Webapp, развернутый на каком-либо сервере приложений с кластеризацией на нескольких узлах.Вызов кода Java для узлов кластера сервера приложений
В webapp мы поддерживаем кеш-память некоторых значений, полученных из базы данных, хранящихся в памяти как статические переменные. Всякий раз, когда пользователь выполняет обновление на определенном экране, мы очищаем кеш, чтобы кэшированные значения снова извлекались в следующий раз, когда они нужны.
Теперь проблема: поскольку каждый узел в кластере работает на отдельной JVM, как я могу очистить кеш на всех узлах? В основном я хочу вызвать статическую функцию на каждом узле кластера. Есть ли какой-то стандартный способ J2EE для этого, или это зависит от программного обеспечения сервера приложений?
Компоненты сообщений, вероятно, являются официальным способом J2EE. У большинства серверов J2EE также есть и другой API. J2EE может быть немного больше работы по настройке и использованию, но вы, вероятно, также получите «дополнительные функции», такие как долговечность и отказоустойчивость. Имейте в виду, что ни один из параметров не будет мгновенным, поэтому ваше приложение будет иметь дело с этим - это может быть не проблема, если это просто означает, что пользователи будут видеть содержимое синхронизации для нескольких загрузок страниц. – AngerClown