Можно ли настроить кэш постоянного хранилища в Hazelcast, как в Coherence? - PullRequest
0 голосов
/ 09 мая 2019

В настоящее время я мигрирую из Coherence в Hazelcast для datagrid, и у меня возникают некоторые проблемы при переносе конфигурации Coherence в Hazelcast.Это моя текущая конфигурация Coherence:

<cache-mapping>
    <cache-name>rlb_*</cache-name>
    <scheme-name>rlb</scheme-name>
</cache-mapping>
<near-scheme>
    <scheme-name>rlb</scheme-name>
    <front-scheme>
        <local-scheme>
            <scheme-ref>localL</scheme-ref>
        </local-scheme>
    </front-scheme>
    <back-scheme>
        <distributed-scheme>
            <scheme-ref>backing_store_wb</scheme-ref>
        </distributed-scheme>
    </back-scheme>
    <invalidation-strategy>auto</invalidation-strategy>
    <autostart>true</autostart>
</near-scheme>
<local-scheme>
    <scheme-name>localL</scheme-name>
    <eviction-policy>HYBRID</eviction-policy>
    <high-units>200m</high-units>
    <low-units>150m</low-units>
    <unit-calculator>FIXED</unit-calculator>
    <expiry-delay>1h</expiry-delay>
</local-scheme>
<distributed-scheme>
    <scheme-name>backing_store_wb</scheme-name>
    <service-name>DistributedCache</service-name>
    <thread-count>10</thread-count>
    <backup-count>1</backup-count>
    <backing-map-scheme>
        <read-write-backing-map-scheme>
            <scheme-name>PersistenceCallbackScheme</scheme-name>
            <internal-cache-scheme>
                <local-scheme>
                    <scheme-ref>localH</scheme-ref>
                </local-scheme>
            </internal-cache-scheme>
            <cachestore-scheme>
                <class-scheme>
                    <class-name>com.bossmedia.gp.space.coherence.cachestore.DelegateCacheStore</class-name>
                    <init-params>
                        <init-param>
                            <param-type>java.lang.String</param-type>
                            <param-value>{cache-name}</param-value>
                        </init-param>
                        <init-param>
                            <param-type>{cache-ref}</param-type>
                            <param-value>persistence_info_cache</param-value>
                        </init-param>
                    </init-params>
                </class-scheme>
            </cachestore-scheme>
            <write-delay>5s</write-delay>
            <write-batch-factor>0.2</write-batch-factor>
            <write-requeue-threshold>10</write-requeue-threshold>
        </read-write-backing-map-scheme>
    </backing-map-scheme>
    <autostart>true</autostart>
</distributed-scheme>

Используя руководство по миграции, предоставляемое Hazelcast, я написал эту конфигурацию Hazelcast:

<map name="READ_MOSTLY-MEDIUM-LOW-*">
    <backup-count>1</backup-count>
    <time-to-live-seconds>0</time-to-live-seconds>
    <max-idle-seconds>0</max-idle-seconds>
    <eviction-policy>NONE</eviction-policy>
    <map-store enabled="true">
        <factory-class-name>com.bossmedia.gp.space.hazelcast.mapstore.PersistenceCallbackMapStoreFactory</factory-class-name>
        <write-delay-seconds>5</write-delay-seconds>
        <properties><property name="template">READ_MOSTLY-MEDIUM-LOW-</property></properties>
    </map-store>
    <near-cache>
        <max-idle-seconds>0</max-idle-seconds>
        <time-to-live-seconds>3600</time-to-live-seconds>
        <max-size policy="PER_NODE">200m</max-size>
        <eviction-percentage>25</eviction-percentage>
        <eviction-policy>LRU</eviction-policy>
    </near-cache>
    <invalidate-on-change>true</invalidate-on-change>
</map>

Я хотел бы настроить кэш также для карты поддержки(как это делается в конфигурации Coherence), но я не могу найти способ сделать это.Есть ли способ настроить его или Hazelcast не позволяет этот уровень конфигурации?

...