Configuration

The default way to configure a JCache provider is to use the class javax.cache.configuration.MutableConfiguration. This is mostly used to avoid provider specific code.

If you want to use all of EclipseStore’s Cache features, you can use our configuration implementation: org.eclipse.store.cache.types.CacheConfiguration

CachingProvider provider     = Caching.getCachingProvider();
CacheManager    cacheManager = provider.getCacheManager();
CacheConfiguration<Integer, String> configuration = CacheConfiguration
	.Builder(Integer.class, String.class)
	.storeByValue()
	.expiryPolicyFactory(CreatedExpiryPolicy.factoryOf(Duration.ONE_MINUTE))
	.build();
Cache<Integer, String> cache = cacheManager.createCache("jCache", configuration);
cache.put(1, "Hello World");
String value = cache.get(1);

To read an external configuration use CacheConfigurationLoader and CacheConfigurationParser or the load*() methods of CacheConfiguration.

CacheConfiguration<Integer, String> configuration = CacheConfiguration
	.load("cache-config.properties", Integer.class, String.class);

If you just use CacheConfiguration.load() the default configuration file is used, which is either a file in the classpath root named eclipsestore-cache.properties, or the path configured via the system property eclipsestore.cache.configuration.path.