2013-08-16 7 views
0

У меня есть приложение, которое работает на двух машинах, и я использую ehcache. Я вижу, что всякий раз, когда я обновляю кеш, он обновляет только один из ehcache машин, но не тот и другой. Как я могу обновить оба? Возможно ли это?Как обновить ehcache на нескольких узлах?

Я использовал EJB для выполнения кеширования, но я изменил его, потому что я не хотел использовать EJB только потому, что мне нужен кеш.

ответ

1

Вы используете Enterprise Ehcache или бесплатную версию с открытым исходным кодом? Корпоративная версия способна распределять обновления, а не с открытым исходным кодом (который является автономным).

+0

Насколько вы уверены в этом? – iCodeLikeImDrunk

+0

Довольно точно, я работаю в Terracotta в качестве инженера-программиста :-) Автономный Ehcache может в лучшем случае обеспечить слабую согласованность для избранных случаев использования. Неизменяемые наборы данных могут использоваться без каких-либо проблем, но для изменяемых данных вы можете использовать политики Time To Live. Допустим, ваше окно согласования - 2 секунды. В этом случае вы можете настроить Ehcache, чтобы иметь значение Time To Live 2 секунды. Любой элемент, возраст которого> 2 секунды будет удален из кеша в этом случае, и приложение должно будет перейти в базу данных для перезагрузки. Подробнее читайте здесь: http://ehcache.org/documentation/user-guide/cache-topologies – Dhruv

+0

haha ​​thanks. то, что я хочу сделать, - это, по возможности, приложение для захвата файлов из кеша. кеш очищается после изменения db. – iCodeLikeImDrunk

0

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

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