JCache: программно создавать реплицированный кеш на основе декларативной конфигурации.

Я использую JCache и Infinispan в качестве его реализации. JCache не предоставляет никакого API, связанного с кластеризацией, поэтому я определил простую конфигурацию реплицированного кеша в файле конфигурации XML:

<?xml version="1.0" encoding="UTF-8"?>
<infinispan xmlns="urn:infinispan:config:8.2">
    <cache-container default-cache="default">
        <transport cluster="test-cluster"/>
            <replicated-cache-configuration name="userCacheConfig" mode="SYNC" statistics="true"/>
    </cache-container>
</infinispan>

Теперь, чтобы создать пользовательский кеш, мне нужно объединить эту декларативную конфигурацию с программной конфигурацией, потому что значения некоторых свойств кеша (например, время истечения срока действия) должны быть получены из БД. Есть ли способ сделать это, используя только классы и интерфейсы из JCache?


person briarheart    schedule 07.03.2017    source источник


Ответы (1)


Получается, что когда вы создаете кеш с определенным именем и конфигурацией времени выполнения, Infinispan ищет уже определенную конфигурацию с тем же именем, что и имя создаваемого кеша. Если существует предопределенная конфигурация, Infinispan объединяет ее с заданной конфигурацией среды выполнения.

person briarheart    schedule 09.03.2017