2009-08-14 1 views
3

Предположим, у меня есть Java Webapp, развернутый на каком-либо сервере приложений с кластеризацией на нескольких узлах.Вызов кода Java для узлов кластера сервера приложений

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

Теперь проблема: поскольку каждый узел в кластере работает на отдельной JVM, как я могу очистить кеш на всех узлах? В основном я хочу вызвать статическую функцию на каждом узле кластера. Есть ли какой-то стандартный способ J2EE для этого, или это зависит от программного обеспечения сервера приложений?

ответ

1

На «стандартном» сервере приложений, таком как Jboss, вы можете использовать JMX или Message Beans для этого.

+0

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

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