持久化EHcache文档中的代码无法在java中运行

持久化EHcache文档中的代码无法在java中运行,java,caching,ehcache,Java,Caching,Ehcache,我想在我的java项目中使用EHcache。它们具有持久存储支持。我已经看过文件了 找到了这个密码 Configuration cacheManagerConfig=new Configuration() .diskStore(新的DiskStoreConfiguration() .path(“/tmp/file.txt”); CacheConfiguration cacheConfig=新的CacheConfiguration() .name(“我的缓存”) .maxBytesLocalHea

我想在我的
java
项目中使用
EHcache
。它们具有持久存储支持。我已经看过文件了 找到了这个密码

Configuration cacheManagerConfig=new Configuration()
.diskStore(新的DiskStoreConfiguration()
.path(“/tmp/file.txt”);
CacheConfiguration cacheConfig=新的CacheConfiguration()
.name(“我的缓存”)
.maxBytesLocalHeap(16,MemoryUnit.MB)
.maxBytesLocalOffHeap(256,MemoryUnit.MB)
.persistence(新PersistenceConfiguration().strategy(strategy.LOCALTEMPSWAP));
cacheManagerConfig.addCache(cacheConfig);
CacheManager CacheManager=新的CacheManager(cacheManagerConfig);
Ehcache myCache=cacheManager.getEhcache(“我的缓存”);
我已经导入了依赖项,但是它显示了很多错误。 我犯了一个错误

'Configuration' is abstract; cannot be instantiated
请提供一些使用此库的简单步骤。我读了文档,但代码没有得到处理。帮助我找到一些解决方案。

找到了答案

    try(PersistentCacheManager persistentCacheManager =
                newCacheManagerBuilder()
                        .with(persistence("/tmp/myProjectCache"))
                        .withCache("test-cache",
                                newCacheConfigurationBuilder(
                                        String.class, String.class,
                                        newResourcePoolsBuilder()
                                                .heap(1, EntryUnit.ENTRIES)
                                                .offheap(1, MemoryUnit.MB)
                                                .disk(2, MemoryUnit.MB, true)
                                )
                        ).build(true)) {
        org.ehcache.Cache cache = persistentCacheManager.getCache("test-cache", String.class, String.class);

        cache.put("name1","steven");
        cache.put("name2","prince");

        System.out.println(cache.get("name1"));
        System.out.println(cache.get("name2"));
    }
找到了答案

    try(PersistentCacheManager persistentCacheManager =
                newCacheManagerBuilder()
                        .with(persistence("/tmp/myProjectCache"))
                        .withCache("test-cache",
                                newCacheConfigurationBuilder(
                                        String.class, String.class,
                                        newResourcePoolsBuilder()
                                                .heap(1, EntryUnit.ENTRIES)
                                                .offheap(1, MemoryUnit.MB)
                                                .disk(2, MemoryUnit.MB, true)
                                )
                        ).build(true)) {
        org.ehcache.Cache cache = persistentCacheManager.getCache("test-cache", String.class, String.class);

        cache.put("name1","steven");
        cache.put("name2","prince");

        System.out.println(cache.get("name1"));
        System.out.println(cache.get("name2"));
    }

我没有完整的上下文,但是你能给我们更多关于你在哪里尝试这个配置的细节吗?这是一个springboot项目吗?我建议首先开始使用您的ehcache设置,然后尝试将其配置为持久存储支持。一些可能帮助您入门的博客文章:或者您正在使用ehcache 3?(您链接的文档是针对版本2.7的)ehcache 3版本..我没有完整的上下文,但是您能告诉我们有关您在何处尝试此配置的更多详细信息吗?这是一个springboot项目吗?我建议首先开始使用您的ehcache设置,然后尝试将其配置为持久存储支持。一些可能帮助您入门的博客文章:或者您正在使用ehcache 3?(您链接的文档适用于版本2.7)ehcache 3版本。。