Кластерный кеш гибернации с ehcache: нестрогий vs. строгое чтение-запись

В чем реальная разница между нестрогим чтением-записью и чтением-записью ? Я могу читать документы по ehcache и Hibernate, но, насколько я могу судить, они говорят только, что «чтение-запись лучше, если вы делаете обновления». Я считаю это неудовлетворительным.

У меня может быть проблема с долгоживущей кэшированной коллекцией, настроенной следующим образом:

<cache name="trx.domain.Parent.children" maxElementsInMemory="5000"
    eternal="false" overflowToDisk="false" timeToIdleSeconds="1200"
    timeToLiveSeconds="1800">
    <cacheEventListenerFactory
        class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
        properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true, replicateUpdatesViaCopy=false, replicateRemovals=true" />

<set name="children" lazy="false" inverse="true">
    <cache usage="nonstrict-read-write"/>
    <key column="callout_id" />
    <one-to-many class="Child" />
</set>

Что именно происходит, когда коллекция обновляется, на узле где происходит обновление и другие? В чем разница между нестрогим чтением-записью и чтением-записью здесь? Возможно ли, что узел будет использовать свою устаревшую 10-минутную версию из кеша?

Обратите внимание на длительные тайм-ауты и асинхронную репликацию.

11
задан Konrad Garus 22 February 2011 в 14:49
поделиться