private static <K, V> boolean isStoreByValue(Configuration<K, V> config, CacheConfiguration<K, V> ehcacheConfig) { if(ehcacheConfig != null) { Collection<ServiceConfiguration<?>> serviceConfigurations = ehcacheConfig.getServiceConfigurations(); for (ServiceConfiguration<?> serviceConfiguration : serviceConfigurations) { if (serviceConfiguration instanceof DefaultCopierConfiguration) { DefaultCopierConfiguration<?> copierConfig = (DefaultCopierConfiguration)serviceConfiguration; if(copierConfig.getType().equals(DefaultCopierConfiguration.Type.VALUE)) { if(copierConfig.getClazz().isAssignableFrom(IdentityCopier.class)) { return false; } else { return true; } } } } } return config.isStoreByValue(); }
public JCacheConfiguration(Configuration<K, V> configuration) { if (configuration != null) { if (configuration instanceof RedissonConfiguration) { configuration = ((RedissonConfiguration<K, V>)configuration).getJcacheConfig(); } if (configuration instanceof CompleteConfiguration) { delegate = new MutableConfiguration<K, V>((CompleteConfiguration<K, V>) configuration); } else { delegate = new MutableConfiguration<K, V>(); delegate.setStoreByValue(configuration.isStoreByValue()); delegate.setTypes(configuration.getKeyType(), configuration.getValueType()); } } else { delegate = new MutableConfiguration<K, V>(); } this.expiryPolicy = delegate.getExpiryPolicyFactory().create(); }
public JCacheConfiguration(Configuration<K, V> configuration) { if (configuration != null) { if (configuration instanceof RedissonConfiguration) { configuration = ((RedissonConfiguration<K, V>)configuration).getJcacheConfig(); } if (configuration instanceof CompleteConfiguration) { delegate = new MutableConfiguration<K, V>((CompleteConfiguration<K, V>) configuration); } else { delegate = new MutableConfiguration<K, V>(); delegate.setStoreByValue(configuration.isStoreByValue()); delegate.setTypes(configuration.getKeyType(), configuration.getValueType()); } } else { delegate = new MutableConfiguration<K, V>(); } this.expiryPolicy = delegate.getExpiryPolicyFactory().create(); }
/** Copies the configuration and overlays it on top of the default settings. */ @SuppressWarnings("PMD.AccessorMethodGeneration") private <K, V> CaffeineConfiguration<K, V> resolveConfigurationFor( Configuration<K, V> configuration) { if (configuration instanceof CaffeineConfiguration<?, ?>) { return new CaffeineConfiguration<>((CaffeineConfiguration<K, V>) configuration); } CaffeineConfiguration<K, V> template = TypesafeConfigurator.defaults(rootConfig); if (configuration instanceof CompleteConfiguration<?, ?>) { CompleteConfiguration<K, V> complete = (CompleteConfiguration<K, V>) configuration; template.setReadThrough(complete.isReadThrough()); template.setWriteThrough(complete.isWriteThrough()); template.setManagementEnabled(complete.isManagementEnabled()); template.setStatisticsEnabled(complete.isStatisticsEnabled()); template.getCacheEntryListenerConfigurations() .forEach(template::removeCacheEntryListenerConfiguration); complete.getCacheEntryListenerConfigurations() .forEach(template::addCacheEntryListenerConfiguration); template.setCacheLoaderFactory(complete.getCacheLoaderFactory()); template.setCacheWriterFactory(complete.getCacheWriterFactory()); template.setExpiryPolicyFactory(complete.getExpiryPolicyFactory()); } template.setTypes(configuration.getKeyType(), configuration.getValueType()); template.setStoreByValue(configuration.isStoreByValue()); return template; }
@Test @SuppressWarnings("unchecked") public void testTemplateOverridingStoreByValue() throws Exception { cacheManager = cachingProvider.getCacheManager( getClass().getResource("/org/ehcache/docs/ehcache-jsr107-template-override.xml").toURI(), getClass().getClassLoader()); MutableConfiguration<Long, Client> mutableConfiguration = new MutableConfiguration<>(); mutableConfiguration.setTypes(Long.class, Client.class); Client client1 = new Client("client1", 1); Cache<Long, Client> myCache = null; myCache = cacheManager.createCache("anyCache", mutableConfiguration); myCache.put(1L, client1); assertNotSame(client1, myCache.get(1L)); assertTrue(myCache.getConfiguration(Configuration.class).isStoreByValue()); myCache = cacheManager.createCache("byRefCache", mutableConfiguration); myCache.put(1L, client1); assertSame(client1, myCache.get(1L)); assertFalse(myCache.getConfiguration(Configuration.class).isStoreByValue()); myCache = cacheManager.createCache("weirdCache1", mutableConfiguration); myCache.put(1L, client1); assertNotSame(client1, myCache.get(1L)); assertTrue(myCache.getConfiguration(Configuration.class).isStoreByValue()); myCache = cacheManager.createCache("weirdCache2", mutableConfiguration); myCache.put(1L, client1); assertSame(client1, myCache.get(1L)); assertFalse(myCache.getConfiguration(Configuration.class).isStoreByValue()); }
assertFalse(anotherCache.getConfiguration(Configuration.class).isStoreByValue()); // <5>
@Override public boolean isStoreByValue() { return config().isStoreByValue(); }
@Override public boolean isStoreByValue() { return jCache.getConfiguration(CompleteConfiguration.class).isStoreByValue(); }
@Override public boolean isStoreByValue() { return configuration().isStoreByValue(); }
@Override public boolean isStoreByValue() { return config().isStoreByValue(); }
@Override public boolean isStoreByValue() { return config().isStoreByValue(); }
@Override public boolean isStoreByValue() { return jCache.getConfiguration(CompleteConfiguration.class).isStoreByValue(); }
private static <K, V> boolean isStoreByValue(Configuration<K, V> config, CacheConfiguration<K, V> ehcacheConfig) { if(ehcacheConfig != null) { Collection<ServiceConfiguration<?>> serviceConfigurations = ehcacheConfig.getServiceConfigurations(); for (ServiceConfiguration<?> serviceConfiguration : serviceConfigurations) { if (serviceConfiguration instanceof DefaultCopierConfiguration) { DefaultCopierConfiguration<?> copierConfig = (DefaultCopierConfiguration)serviceConfiguration; if(copierConfig.getType().equals(DefaultCopierConfiguration.Type.VALUE)) { if(copierConfig.getClazz().isAssignableFrom(IdentityCopier.class)) { return false; } else { return true; } } } } } return config.isStoreByValue(); }
@SuppressWarnings("unchecked") protected <K, V, C extends Configuration<K, V>> CacheConfig<K, V> createCacheConfig(String cacheName, C configuration) { CacheConfig<K, V> cacheConfig; if (configuration instanceof CompleteConfiguration) { cacheConfig = new CacheConfig<K, V>((CompleteConfiguration<K, V>) configuration); } else { cacheConfig = new CacheConfig<K, V>(); cacheConfig.setStoreByValue(configuration.isStoreByValue()); Class<K> keyType = configuration.getKeyType(); Class<V> valueType = configuration.getValueType(); cacheConfig.setTypes(keyType, valueType); } cacheConfig.setName(cacheName); cacheConfig.setManagerPrefix(this.cacheNamePrefix); cacheConfig.setUriString(getURI().toString()); return cacheConfig; }
@SuppressWarnings("unchecked") protected <K, V, C extends Configuration<K, V>> CacheConfig<K, V> createCacheConfig(String cacheName, C configuration) { CacheConfig<K, V> cacheConfig; if (configuration instanceof CompleteConfiguration) { cacheConfig = new CacheConfig<K, V>((CompleteConfiguration<K, V>) configuration); } else { cacheConfig = new CacheConfig<K, V>(); cacheConfig.setStoreByValue(configuration.isStoreByValue()); Class<K> keyType = configuration.getKeyType(); Class<V> valueType = configuration.getValueType(); cacheConfig.setTypes(keyType, valueType); } cacheConfig.setName(cacheName); cacheConfig.setManagerPrefix(this.cacheNamePrefix); cacheConfig.setUriString(getURI().toString()); return cacheConfig; }
public JCacheConfiguration(Configuration<K, V> configuration) { if (configuration != null) { if (configuration instanceof RedissonConfiguration) { configuration = ((RedissonConfiguration<K, V>)configuration).getJcacheConfig(); } if (configuration instanceof CompleteConfiguration) { delegate = new MutableConfiguration<K, V>((CompleteConfiguration<K, V>) configuration); } else { delegate = new MutableConfiguration<K, V>(); delegate.setStoreByValue(configuration.isStoreByValue()); delegate.setTypes(configuration.getKeyType(), configuration.getValueType()); } } else { delegate = new MutableConfiguration<K, V>(); } this.expiryPolicy = delegate.getExpiryPolicyFactory().create(); }
public static <K, V> ConfigurationAdapter<K, V> create(Configuration<K, V> c) { // A configuration copy as required by the spec if (c instanceof CompleteConfiguration) { return new ConfigurationAdapter<K, V>( new MutableConfiguration<K, V>((CompleteConfiguration<K, V>) c)); } else { //support use of Basic Configuration MutableConfiguration<K, V> mutableConfiguration = new MutableConfiguration<K, V>(); mutableConfiguration.setStoreByValue(c.isStoreByValue()); mutableConfiguration.setTypes(c.getKeyType(), c.getValueType()); return new ConfigurationAdapter<K, V>( new MutableConfiguration<K, V>(mutableConfiguration)); } }
/** Copies the configuration and overlays it on top of the default settings. */ @SuppressWarnings("PMD.AccessorMethodGeneration") private <K, V> CaffeineConfiguration<K, V> resolveConfigurationFor( Configuration<K, V> configuration) { if (configuration instanceof CaffeineConfiguration<?, ?>) { return new CaffeineConfiguration<>((CaffeineConfiguration<K, V>) configuration); } CaffeineConfiguration<K, V> template = TypesafeConfigurator.defaults(rootConfig); if (configuration instanceof CompleteConfiguration<?, ?>) { CompleteConfiguration<K, V> complete = (CompleteConfiguration<K, V>) configuration; template.setReadThrough(complete.isReadThrough()); template.setWriteThrough(complete.isWriteThrough()); template.setManagementEnabled(complete.isManagementEnabled()); template.setStatisticsEnabled(complete.isStatisticsEnabled()); template.getCacheEntryListenerConfigurations() .forEach(template::removeCacheEntryListenerConfiguration); complete.getCacheEntryListenerConfigurations() .forEach(template::addCacheEntryListenerConfiguration); template.setCacheLoaderFactory(complete.getCacheLoaderFactory()); template.setCacheWriterFactory(complete.getCacheWriterFactory()); template.setExpiryPolicyFactory(complete.getExpiryPolicyFactory()); } template.setTypes(configuration.getKeyType(), configuration.getValueType()); template.setStoreByValue(configuration.isStoreByValue()); return template; }
private CacheConfiguration toEhcacheConfig(final String name, final Configuration configuration) { final int maxSize = cacheManager.getConfiguration().isMaxBytesLocalHeapSet() ? 0 : DEFAULT_SIZE; CacheConfiguration cfg = new CacheConfiguration(name, maxSize); cfg.setClassLoader(cacheManager.getConfiguration().getClassLoader()); if(configuration.isStoreByValue()) { final CopyStrategyConfiguration copyStrategyConfiguration = new CopyStrategyConfiguration(); copyStrategyConfiguration.setCopyStrategyInstance(new JCacheCopyOnWriteStrategy()); cfg.copyOnRead(true).copyOnWrite(true) .addCopyStrategy(copyStrategyConfiguration); } if(configuration instanceof CompleteConfiguration) { if(((CompleteConfiguration)configuration).isWriteThrough()) { cfg.addCacheWriter(new CacheWriterConfiguration().writeMode(CacheWriterConfiguration.WriteMode.WRITE_THROUGH)); } } return cfg; }
private CacheConfiguration toEhcacheConfig(final String name, final Configuration configuration) { final int maxSize = cacheManager.getConfiguration().isMaxBytesLocalHeapSet() ? 0 : DEFAULT_SIZE; CacheConfiguration cfg = new CacheConfiguration(name, maxSize); cfg.setClassLoader(cacheManager.getConfiguration().getClassLoader()); if(configuration.isStoreByValue()) { final CopyStrategyConfiguration copyStrategyConfiguration = new CopyStrategyConfiguration(); copyStrategyConfiguration.setCopyStrategyInstance(new JCacheCopyOnWriteStrategy()); cfg.copyOnRead(true).copyOnWrite(true) .addCopyStrategy(copyStrategyConfiguration); } if(configuration instanceof CompleteConfiguration) { if(((CompleteConfiguration)configuration).isWriteThrough()) { cfg.addCacheWriter(new CacheWriterConfiguration().writeMode(CacheWriterConfiguration.WriteMode.WRITE_THROUGH)); } } return cfg; }