@Override
public <K, V> Cache<K, V> getCache(ServiceRegistry registry, LocalDistributableSessionManager manager) {
EmbeddedCacheManager container = (EmbeddedCacheManager) registry.getRequiredService(this.provider.getServiceName(manager.getReplicationConfig())).getValue();
String cacheName = manager.getEngineName();
synchronized (cacheName) {
if (!container.cacheExists(cacheName)) {
container.defineConfiguration(cacheName, CacheContainer.DEFAULT_CACHE_NAME, new Configuration());
}
}
return container.getCache(cacheName);
}