JCache:基于声明性配置以编程方式构建复制缓存

JCache: programmatically build replicated cache based on declarative configuration

我使用 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 的接口来做到这一点?

事实证明,当您使用特定名称和运行时配置创建缓存时,Infinispan 会查找与要创建的缓存名称相同的已定义配置。如果存在预定义配置,Infinispan 会将其与给定的运行时配置相结合。