本文整理汇总了Java中javax.cache.configuration.CompleteConfiguration.getCacheEntryListenerConfigurations方法的典型用法代码示例。如果您正苦于以下问题:Java CompleteConfiguration.getCacheEntryListenerConfigurations方法的具体用法?Java CompleteConfiguration.getCacheEntryListenerConfigurations怎么用?Java CompleteConfiguration.getCacheEntryListenerConfigurations使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.cache.configuration.CompleteConfiguration
的用法示例。
在下文中一共展示了CompleteConfiguration.getCacheEntryListenerConfigurations方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: initCacheEventListeners
import javax.cache.configuration.CompleteConfiguration; //导入方法依赖的package包/类
private <K, V> Map<CacheEntryListenerConfiguration<K, V>, ListenerResources<K, V>> initCacheEventListeners(CompleteConfiguration<K, V> config) {
Map<CacheEntryListenerConfiguration<K, V>, ListenerResources<K, V>> listenerResources = new ConcurrentHashMap<>();
MultiCacheException mce = new MultiCacheException();
for (CacheEntryListenerConfiguration<K, V> listenerConfig : config.getCacheEntryListenerConfigurations()) {
listenerResources.put(listenerConfig, ListenerResources.createListenerResources(listenerConfig, mce));
}
return listenerResources;
}
示例2: testDynamicRegistration
import javax.cache.configuration.CompleteConfiguration; //导入方法依赖的package包/类
@Test
public void testDynamicRegistration() {
assertEquals(1, getConfigurationCacheEntryListenerConfigurationSize(cache));
MyCacheEntryListener secondListener = new MyCacheEntryListener<Long, String>();
MutableCacheEntryListenerConfiguration<Long,
String> listenerConfiguration = new
MutableCacheEntryListenerConfiguration(FactoryBuilder.factoryOf(secondListener), null, false, true);
cache.registerCacheEntryListener(listenerConfiguration);
assertEquals(2,getConfigurationCacheEntryListenerConfigurationSize(cache));
CompleteConfiguration<Long, String> cacheConfig = (CompleteConfiguration)cache.getConfiguration(CompleteConfiguration.class);
for (CacheEntryListenerConfiguration<Long, String> config : cacheConfig.getCacheEntryListenerConfigurations()) {
config.hashCode();
config.isOldValueRequired();
config.isSynchronous();
}
//Can only register the same configuration once
try {
cache.registerCacheEntryListener(listenerConfiguration);
fail();
} catch (IllegalArgumentException e) {
//expected
}
}
示例3: getConfigurationCacheEntryListenerConfigurationSize
import javax.cache.configuration.CompleteConfiguration; //导入方法依赖的package包/类
private int getConfigurationCacheEntryListenerConfigurationSize(Cache cache) {
int i = 0;
CompleteConfiguration<Long, String> cacheConfig = (CompleteConfiguration)cache.getConfiguration(CompleteConfiguration.class);
for (CacheEntryListenerConfiguration<Long, String> listenerConfig : cacheConfig.getCacheEntryListenerConfigurations()) {
i++;
}
return i;
}
示例4: copyBuilder
import javax.cache.configuration.CompleteConfiguration; //导入方法依赖的package包/类
/**
* Copies the configuration to the target Builder. If the source (configuration)
* is also a Builder, its fields also get copied. Any null-value in the
* configuration is ignored in the copying process, leaving the corresponding
* target value unchanged. The CacheWriteMode can be
* defined in two ways: If configuration is a Builder it is copied plainly,
* otherwise it is derived from configuration.isStoreByValue().
*
* @param configuration The source builder
* @param target The target builder
*/
private void copyBuilder(Configuration<K, V> configuration, Builder<K, V> target)
{
CacheWriteMode tcacheWriteMode = null;
if (configuration instanceof Builder)
{
Builder<K, V> sourceB = (Builder<K, V>)configuration;
// tCache native configuration
if (sourceB.id != null)
target.id = sourceB.id;
target.strictJSR107 = sourceB.strictJSR107;
target.maxCacheTime = sourceB.maxCacheTime;
target.maxCacheTimeSpread = sourceB.maxCacheTimeSpread;
this.cleanUpIntervalMillis = sourceB.cleanUpIntervalMillis;
target.expectedMapSize = sourceB.expectedMapSize;
target.concurrencyLevel = sourceB.concurrencyLevel;
if (sourceB.evictionPolicy != null)
target.evictionPolicy = sourceB.evictionPolicy;
if (sourceB.evictionClass != null)
target.evictionClass = sourceB.evictionClass;
if (sourceB.hashImplementation != null)
target.hashImplementation = sourceB.hashImplementation;
if (sourceB.jamPolicy != null)
target.jamPolicy = sourceB.jamPolicy;
if (sourceB.loader != null)
target.loader = sourceB.loader; // loader vs loaderFactory
tcacheWriteMode = sourceB.writeMode;
}
if (configuration instanceof CompleteConfiguration)
{
CompleteConfiguration<K,V> cc = (CompleteConfiguration<K,V>)configuration;
target.statistics = cc.isStatisticsEnabled();
target.management = cc.isManagementEnabled();
target.expiryPolicyFactory = cc.getExpiryPolicyFactory();
target.writerFactory = cc.getCacheWriterFactory();
Factory<javax.cache.integration.CacheLoader<K, V>> lf = cc.getCacheLoaderFactory();
if (lf != null)
{
target.loader = null; // loader vs loaderFactory
target.loaderFactory = lf;
}
Collection<CacheEntryListenerConfiguration<K, V>> listenerConfsCopy = new ArrayList<>(0);
for (CacheEntryListenerConfiguration<K, V> entry : cc.getCacheEntryListenerConfigurations())
{
listenerConfsCopy.add(entry);
}
target.listenerConfigurations = listenerConfsCopy;
target.writeThrough = cc.isWriteThrough();
target.readThrough = cc.isReadThrough();
}
// JSR107 configuration follows
if (tcacheWriteMode != null)
target.writeMode = tcacheWriteMode;
else
target.writeMode = CacheWriteMode.fromStoreByValue(configuration.isStoreByValue());
target.keyType = configuration.getKeyType();
target.valueType = configuration.getValueType();
}
示例5: BlazingCacheCache
import javax.cache.configuration.CompleteConfiguration; //导入方法依赖的package包/类
public BlazingCacheCache(String cacheName, CacheClient client, CacheManager cacheManager, Serializer<K, String> keysSerializer, Serializer<V, byte[]> valuesSerializer, boolean usefetch, Configuration<K, V> configuration) {
this.cacheName = cacheName;
this.cacheManager = cacheManager;
this.client = client;
this.keysSerializer = keysSerializer;
this.valuesSerializer = valuesSerializer;
this.valueType = configuration.getValueType();
this.keyType = configuration.getKeyType();
this.usefetch = usefetch;
this.configurationMXBean = new BlazingCacheConfigurationMXBean<>(this);
this.statisticsMXBean = new BlazingCacheStatisticsMXBean<>(this);
this.storeByReference = !configuration.isStoreByValue();
if (configuration instanceof CompleteConfiguration) {
this.configuration = new MutableConfiguration<>((CompleteConfiguration<K, V>) configuration);
CompleteConfiguration<K, V> cc = (CompleteConfiguration<K, V>) configuration;
if (cc.getExpiryPolicyFactory() == null) {
throw new IllegalArgumentException("ExpiryPolicyFactory cannot be null");
} else {
ExpiryPolicy _policy = cc.getExpiryPolicyFactory().create();;
if (_policy == null) {
throw new IllegalArgumentException("ExpiryPolicy cannot be null");
}
if (_policy instanceof EternalExpiryPolicy) {
this.policy = null; // shortcut for the most common case
} else {
this.policy = _policy;
}
}
if (cc.getCacheLoaderFactory() != null) {
cacheLoader = (CacheLoader) cc.getCacheLoaderFactory().create();
} else {
cacheLoader = null;
}
if (cc.getCacheWriterFactory() != null) {
cacheWriter = (CacheWriter<K, V>) cc.getCacheWriterFactory().create();
} else {
cacheWriter = null;
}
isReadThrough = cc.isReadThrough();
isWriteThrough = cc.isWriteThrough();
needPreviuosValueForListeners = policy != null;
if (cc.getCacheEntryListenerConfigurations() != null) {
for (CacheEntryListenerConfiguration<K, V> listenerConfig : cc.getCacheEntryListenerConfigurations()) {
configureListener(listenerConfig);
}
}
} else {
this.configuration = new MutableConfiguration<K, V>()
.setTypes(configuration.getKeyType(), configuration.getValueType())
.setStoreByValue(configuration.isStoreByValue());
this.policy = null; // means "eternal"
cacheLoader = null;
needPreviuosValueForListeners = false;
cacheWriter = null;
isReadThrough = false;
isWriteThrough = false;
}
if (isReadThrough && cacheLoader == null) {
throw new IllegalArgumentException("cache isReadThrough=" + isReadThrough + " cacheLoader=" + cacheLoader);
}
if (isWriteThrough && cacheWriter == null) {
throw new IllegalArgumentException("cache isWriteThrough=" + isWriteThrough + " cacheWriter=" + cacheWriter);
}
if (this.configuration.isManagementEnabled()) {
setManagementEnabled(true);
}
if (this.configuration.isStatisticsEnabled()) {
setStatisticsEnabled(true);
}
}
示例6: Eh107CompleteConfiguration
import javax.cache.configuration.CompleteConfiguration; //导入方法依赖的package包/类
public Eh107CompleteConfiguration(Configuration<K, V> config, final CacheConfiguration<K, V> ehcacheConfig, boolean useEhcacheExpiry, boolean useEhcacheLoaderWriter) {
this.ehcacheConfig = ehcacheConfig;
this.keyType = config.getKeyType();
this.valueType = config.getValueType();
this.isStoreByValue = isStoreByValue(config, ehcacheConfig);
Factory<ExpiryPolicy> tempExpiryPolicyFactory = EternalExpiryPolicy.factoryOf();
if (config instanceof CompleteConfiguration) {
CompleteConfiguration<K, V> completeConfig = (CompleteConfiguration<K, V>) config;
this.isReadThrough = completeConfig.isReadThrough();
this.isWriteThrough = completeConfig.isWriteThrough();
this.isStatisticsEnabled = completeConfig.isStatisticsEnabled();
this.isManagementEnabled = completeConfig.isManagementEnabled();
if (useEhcacheLoaderWriter) {
this.cacheLoaderFactory = createThrowingFactory();
this.cacheWriterFactory = createThrowingFactory();
} else {
this.cacheLoaderFactory = completeConfig.getCacheLoaderFactory();
this.cacheWriterFactory = completeConfig.getCacheWriterFactory();
}
tempExpiryPolicyFactory = completeConfig.getExpiryPolicyFactory();
for (CacheEntryListenerConfiguration<K, V> listenerConfig : completeConfig.getCacheEntryListenerConfigurations()) {
cacheEntryListenerConfigs.add(listenerConfig);
}
} else {
this.isReadThrough = false;
this.isWriteThrough = false;
this.isStatisticsEnabled = false;
this.isManagementEnabled = false;
this.cacheLoaderFactory = null;
this.cacheWriterFactory = null;
}
if (useEhcacheExpiry) {
tempExpiryPolicyFactory = createThrowingFactory();
}
this.expiryPolicyFactory = tempExpiryPolicyFactory;
}