Infinispan file-store создает двоичные папки с несколькими файлами .dat - PullRequest
0 голосов
/ 16 января 2020

Я использую приведенный ниже файл конфигурации infinispan и сталкиваюсь со странной проблемой. При запуске приложение создает несколько папок (по одной для каждого di git байтового массива от 0 до 255), и каждая папка содержит файл .dat (в моем случае idempotent.dat). Также содержимое файла - FCS1 для всех созданных файлов.

Я ожидал, что он создаст один файл ( / ap / efts / data / stage / cache / idempotent.dat ), который имеет все кэшированные объекты. Может кто-нибудь определить, что является причиной этой проблемы? Я использую компонент Camel-Infinispan для создания идемпотентного репозитория на основе Infinispan.

ПРИМЕЧАНИЕ: Это работало правильно в версии 7.0. Для справки я также предоставляю файл конфигурации infinispan 7.0 и конфигурацию подпружиненного компонента для идемпотентного хранилища.

enter image description here

infinispan. xml (10,0)

<?xml version="1.0" encoding="UTF-8"?>
<infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="urn:infinispan:config:10.0 http://www.infinispan.org/schemas/infinispan-config-10.0.xsd" 
    xmlns="urn:infinispan:config:10.0">

    <cache-container default-cache="idempotent">
        <local-cache name="idempotent">
            <expiration lifespan="1800000" max-idle="1800000" interval="60000" />
            <persistence passivation="true">
                <file-store path="/ap/efts/data/stage/cache" purge="true">
                    <write-behind thread-pool-size="5" />
                </file-store>
            </persistence>
            <memory>
                <binary eviction="MEMORY" size="1000000" />
            </memory>
        </local-cache>
    </cache-container>
</infinispan>

бесконечность. xml (7,0)

<?xml version="1.0" encoding="UTF-8"?>
<infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="urn:infinispan:config:7.0 http://www.infinispan.org/schemas/infinispan-config-7.0.xsd"
    xmlns="urn:infinispan:config:7.0">

    <cache-container default-cache="default">
        <local-cache name="idempotent">
            <eviction max-entries="10000" strategy="LIRS"/>
            <persistence passivation="false">
                <file-store path="/ap/efts/data/stage/cache" max-entries="10000" purge="false">
                </file-store>
            </persistence>
        </local-cache>
    </cache-container>
</infinispan>

конфигурация пружинных бобов

    <bean id="cacheManager" class="org.infinispan.manager.DefaultCacheManager" init-method="start" destroy-method="stop">
        <constructor-arg type="java.lang.String" value="infinispan.xml"/>
    </bean>

    <bean id="infinispanRepo" class="org.apache.camel.component.infinispan.processor.idempotent.InfinispanIdempotentRepository"
        factory-method="infinispanIdempotentRepository">
        <constructor-arg ref="cacheManager" />
        <constructor-arg value="idempotent" />
    </bean>

1 Ответ

3 голосов
/ 16 января 2020

Создает файл для каждого сегмента (кэши внутренне организованы в сегменты). По умолчанию установлено значение 256. Это значительно ускоряет выполнение таких операций, как итерация. Вы можете отключить сегментацию на уровне магазина, добавив атрибут segmented="false" к элементу file-store

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...