Ehcache: Как подключиться к хранилищу диска, когда сервер Terracotta отключен? - PullRequest
0 голосов
/ 09 ноября 2011

Мне нужно настроить приложение для переключения с конфигурации сервера Terracotta на хранилище диска, когда сервер Terracotta недоступен.Есть ли способ сделать это?Когда я настраиваю элемент terracottaConfig в ehcache.xml, я не могу запустить приложение, если сервер Terracotta недоступен .... Это моя конфигурация ehcache.xml:

    <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="ehcache.xsd" name="gpCacheManager">

    <diskStore path="java.io.tmpdir" />

    <terracottaConfig rejoin="true">
        <tc-config>
            <servers>
                <server host="XXX.XXX.XXX.XX" name="host1">
                </server>
            </servers>
            <clients>
                <logs>app/logs-%i</logs>
            </clients>
            <nonstop immediateTimeout="true" timeoutMillis="3000">
                <timeoutBehavior type="localReads" />
            </nonstop>
        </tc-config>
    </terracottaConfig>

    <defaultCache maxElementsInMemory="10000" eternal="false"
        timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="false"
        diskPersistent="false" diskExpiryThreadIntervalSeconds="120"
        memoryStoreEvictionPolicy="LRU">
        <terracotta clustered="true">
            <nonstop immediateTimeout="false" timeoutMillis="3000">
                <timeoutBehavior type="localReads" />
            </nonstop>
        </terracotta>
    </defaultCache>

    <cache name="oxmCache" maxElementsInMemory="10000" eternal="false"
        timeToIdleSeconds="240" timeToLiveSeconds="240" overflowToDisk="false"
        diskPersistent="false" diskExpiryThreadIntervalSeconds="240"
        memoryStoreEvictionPolicy="LRU">
        <terracotta clustered="true">
            <nonstop immediateTimeout="false" timeoutMillis="3000">
                <timeoutBehavior type="localReads" />
            </nonstop>
        </terracotta>
    </cache>

</ehcache>

Спасибо!

1 Ответ

0 голосов
/ 10 ноября 2011

Боюсь, что использование диска (на клиенте) на данный момент не поддерживается. В принципе, если я вас правильно понял, вы бы хотели, чтобы записи выливались на диск, а не на терракотовый сервер, когда он недоступен.

Теперь, я думаю, вы также захотите примирить, когда сервер вернется, верно? Потому что мне трудно понять, насколько полезно иметь (частичные) данные на диске ... Вы хотите уточнить?

...