use of org.infinispan.configuration.cache.ConfigurationBuilder in project wildfly by wildfly.
the class BackupsServiceConfigurator method get.
@Override
public SitesConfiguration get() {
SitesConfigurationBuilder builder = new ConfigurationBuilder().sites();
builder.disableBackups(this.backups.isEmpty());
for (Map.Entry<String, BackupConfiguration> backup : this.backups.entrySet()) {
builder.addBackup().read(backup.getValue());
builder.addInUseBackupSite(backup.getKey());
}
return builder.create();
}
use of org.infinispan.configuration.cache.ConfigurationBuilder in project wildfly by wildfly.
the class BackupsServiceConfigurator method configure.
@Override
public ServiceConfigurator configure(OperationContext context, ModelNode model) throws OperationFailedException {
this.backups.clear();
if (model.hasDefined(BackupResourceDefinition.WILDCARD_PATH.getKey())) {
SitesConfigurationBuilder builder = new ConfigurationBuilder().sites();
for (Property property : model.get(BackupResourceDefinition.WILDCARD_PATH.getKey()).asPropertyList()) {
String siteName = property.getName();
ModelNode backup = property.getValue();
BackupConfigurationBuilder backupBuilder = builder.addBackup();
backupBuilder.site(siteName).enabled(ENABLED.resolveModelAttribute(context, backup).asBoolean()).backupFailurePolicy(BackupFailurePolicy.valueOf(FAILURE_POLICY.resolveModelAttribute(context, backup).asString())).replicationTimeout(TIMEOUT.resolveModelAttribute(context, backup).asLong()).strategy(BackupStrategy.valueOf(STRATEGY.resolveModelAttribute(context, backup).asString())).takeOffline().afterFailures(AFTER_FAILURES.resolveModelAttribute(context, backup).asInt()).minTimeToWait(MIN_WAIT.resolveModelAttribute(context, backup).asLong());
this.backups.put(siteName, backupBuilder.create());
}
}
return this;
}
use of org.infinispan.configuration.cache.ConfigurationBuilder in project wildfly by wildfly.
the class CustomStoreServiceConfigurator method get.
@Override
public PersistenceConfiguration get() {
PersistenceConfiguration persistence = super.get();
StoreConfiguration store = persistence.stores().get(0);
try {
@SuppressWarnings("unchecked") Class<StoreConfigurationBuilder<?, ?>> storeClass = (Class<StoreConfigurationBuilder<?, ?>>) this.module.get().getClassLoader().loadClass(this.className).asSubclass(StoreConfigurationBuilder.class);
return new ConfigurationBuilder().persistence().passivation(persistence.passivation()).addStore(storeClass).async().read(store.async()).fetchPersistentState(store.fetchPersistentState()).preload(store.preload()).purgeOnStartup(store.purgeOnStartup()).shared(store.shared()).withProperties(store.properties()).persistence().create();
} catch (ClassNotFoundException | ClassCastException e) {
throw InfinispanLogger.ROOT_LOGGER.invalidCacheStore(e, this.className);
}
}
use of org.infinispan.configuration.cache.ConfigurationBuilder in project wildfly by wildfly.
the class DefaultCacheContainerTestCase method defineConfiguration.
@Test
public void defineConfiguration() {
ConfigurationBuilder builder = new ConfigurationBuilder();
Configuration config = builder.build();
when(this.manager.defineConfiguration("other", config)).thenReturn(config);
Configuration result = this.subject.defineConfiguration("other", config);
assertSame(config, result);
}
use of org.infinispan.configuration.cache.ConfigurationBuilder in project wildfly by wildfly.
the class InfinispanBeanManagerFactoryServiceConfiguratorFactory method getDeploymentServiceConfigurators.
@Override
public Iterable<CapabilityServiceConfigurator> getDeploymentServiceConfigurators(final ServiceName name) {
String cacheName = getCacheName(name, this.name);
String containerName = this.config.getContainerName();
String templateCacheName = this.config.getCacheName();
// Ensure eviction and expiration are disabled
Consumer<ConfigurationBuilder> configurator = builder -> {
// Ensure expiration is not enabled on cache
ExpirationConfiguration expiration = builder.expiration().create();
if ((expiration.lifespan() >= 0) || (expiration.maxIdle() >= 0)) {
builder.expiration().lifespan(-1).maxIdle(-1);
InfinispanEjbLogger.ROOT_LOGGER.expirationDisabled(InfinispanCacheRequirement.CONFIGURATION.resolve(containerName, templateCacheName));
}
int size = this.config.getMaxSize();
EvictionStrategy strategy = (size > 0) ? EvictionStrategy.REMOVE : EvictionStrategy.MANUAL;
builder.memory().storage(StorageType.HEAP).whenFull(strategy).maxCount(size);
if (strategy.isEnabled()) {
// Only evict bean group entries
// We will cascade eviction to the associated beans
builder.addModule(DataContainerConfigurationBuilder.class).evictable(BeanGroupKey.class::isInstance);
}
};
CapabilityServiceConfigurator configurationConfigurator = new TemplateConfigurationServiceConfigurator(ServiceNameFactory.parseServiceName(InfinispanCacheRequirement.CONFIGURATION.getName()).append(containerName, cacheName), containerName, cacheName, templateCacheName, configurator);
CapabilityServiceConfigurator cacheConfigurator = new CacheServiceConfigurator<>(ServiceNameFactory.parseServiceName(InfinispanCacheRequirement.CACHE.getName()).append(containerName, cacheName), containerName, cacheName).require(new ServiceDependency(name.append("marshalling")));
List<Iterable<CapabilityServiceConfigurator>> configurators = new LinkedList<>();
configurators.add(Arrays.asList(configurationConfigurator, cacheConfigurator));
ServiceNameRegistry<ClusteringCacheRequirement> registry = new ServiceNameRegistry<ClusteringCacheRequirement>() {
@Override
public ServiceName getServiceName(ClusteringCacheRequirement requirement) {
return (requirement == ClusteringCacheRequirement.GROUP) ? ServiceNameFactory.parseServiceName(requirement.getName()).append(containerName, cacheName) : null;
}
};
for (CacheServiceConfiguratorProvider provider : ServiceLoader.load(DistributedCacheServiceConfiguratorProvider.class, DistributedCacheServiceConfiguratorProvider.class.getClassLoader())) {
configurators.add(provider.getServiceConfigurators(registry, containerName, cacheName));
}
return new CompositeIterable<>(configurators);
}
Aggregations