de.mhus.osgi.api.cache.LocalCacheService Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of osgi-api Show documentation
Show all versions of osgi-api Show documentation
commands OSGi blueprint bundle project.
package de.mhus.osgi.api.cache;
import java.util.List;
import java.util.function.Consumer;
import org.ehcache.CacheManager;
import org.ehcache.config.Builder;
import org.ehcache.config.ResourcePools;
import org.ehcache.config.builders.CacheConfigurationBuilder;
import org.ehcache.config.builders.CacheManagerBuilder;
import org.ehcache.config.builders.ResourcePoolsBuilder;
import org.osgi.framework.BundleContext;
public interface LocalCacheService {
// ccb -> ccb.withExpiry(ExpiryPolicyBuilder.timeToLiveExpiration(Duration.ofMinutes(5)))
CacheManagerBuilder getCacheBuilder();
default LocalCache createCache(
BundleContext ownerContext,
String name,
Class keyType,
Class valueType,
int heapSize) {
return createCache(
ownerContext, name, keyType, valueType, ResourcePoolsBuilder.heap(heapSize), null);
}
default LocalCache createCache(
BundleContext ownerContext,
String name,
Class keyType,
Class valueType,
Builder resourcePoolsBuilder) {
return createCache(ownerContext, name, keyType, valueType, resourcePoolsBuilder, null);
}
LocalCache createCache(
BundleContext ownerContext,
String name,
Class keyType,
Class valueType,
Builder resourcePoolsBuilder,
Consumer> configurator);
List getCacheNames();
LocalCache getCache(String name);
}