<dependencies>
...
<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>3.8.1</version>
</dependency>
...
</dependencies>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.ehcache.org/v3"
xsi:schemaLocation="http://www.ehcache.org/v3 http://www.ehcache.org/schema/ehcache-core-3.0.xsd">
<cache alias="libraryData">
<persistence directory="libraryData"/>
</cache>
</config>
import org.ehcache.Cache;
import org.ehcache.CacheManager;
import org.ehcache.config.builders.CacheConfigurationBuilder;
import org.ehcache.config.builders.CacheManagerBuilder;
import org.ehcache.config.builders.ResourcePoolsBuilder;
import org.ehcache.config.builders.WriteBehindConfigurationBuilder;
import org.ehcache.config.units.EntryUnit;
import org.ehcache.config.units.MemoryUnit;
import org.ehcache.spi.loaderwriter.WriteBehindConfiguration.CacheWriterConfiguration;
public class LibraryDataPersistenceExample {
public static void main(String[] args) {
CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
.with(CacheManagerBuilder.persistence(new File("ehcache.xml")))
.build();
cacheManager.init();
CacheConfigurationBuilder<Long, Library> cacheConfigurationBuilder = CacheConfigurationBuilder
.newCacheConfigurationBuilder(Long.class, Library.class,
ResourcePoolsBuilder.newResourcePoolsBuilder()
);
Cache<Long, Library> libraryDataCache = cacheManager.createCache("libraryData", cacheConfigurationBuilder.build(Long.class, Library.class));
library.setId(1L);
Library cachedLibrary = libraryDataCache.get(1L);
cacheManager.close();
}
}
class Library {
private Long id;
private String name;
...
}