如何使用 Apache Ignite 作为 JSR 107 缓存?

How to use Apache Ignite as JSR 107 cache?

我发现 JSR 107 缓存的配置如下:

private final static CacheManager MANAGER =
             Caching.getCachingProvider().getCacheManager();
private final static Cache<Long, Map<Integer, BufferedImage>> CACHE;
private final static Cache<Long, Map<Integer, ImageIcon>> CACHE_SERIALIZABLE;
static {
    MutableConfiguration<Long, Map<Integer, BufferedImage>> config = new MutableConfiguration<>();
    MutableConfiguration<Long, Map<Integer, ImageIcon>> javaFXConfig = new MutableConfiguration<>();
    for(MutableConfiguration config0 : new MutableConfiguration[] {config, javaFXConfig}) {
        config0.setStoreByValue(false)
                .setStatisticsEnabled(true)
                .setExpiryPolicyFactory(FactoryBuilder.factoryOf(
                        new AccessedExpiryPolicy(new Duration(TimeUnit.HOURS, 1))));
    }
    CACHE = MANAGER.createCache("cache",
            config);
    CACHE_SERIALIZABLE = MANAGER.createCache("cache-serializable",
            javaFXConfig);
}

但是添加后

<dependencies>
    <dependency>
        <groupId>org.apache.ignite</groupId>
        <artifactId>ignite-core</artifactId>
        <version>1.7.0</version>
    </dependency>
</dependencies>

pom.xml 缓存不会在值站点 Map 中存储任何值(https://github.com/krichter722/ignite-storage-failure 中提供了一个示例)。

我想 运行 一个只带嵌入式 Ignite 的本地内存设置。不幸的是,没有关于此用例的 "Getting started" 文档——只有复杂的分布式设置和非 JSR 107/Ignite 特定配置。

因为这是缓存框架最简单的用例,所以这必须是可能的。

我正在使用 Apache Ignite 1.7.0。

问题是:

config0.setStoreByValue(false)

Ignite 不支持引用存储。参见 https://github.com/cruftex/jsr107-test-zoo/blob/master/report.md#apache-ignite-1x-test

当然,在尝试时抛出异常会很好。