All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.infinispan.configuration.global.GlobalConfiguration Maven / Gradle / Ivy

There is a newer version: 9.1.7.Final
Show newest version
package org.infinispan.configuration.global;

import java.lang.ref.WeakReference;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.infinispan.Version;

import org.infinispan.factories.annotations.SurvivesRestarts;
import org.infinispan.factories.scopes.Scope;
import org.infinispan.factories.scopes.Scopes;

/**
 * 

* Configuration component that exposes the global configuration. *

* * @author Manik Surtani * @author Vladimir Blagojevic * @author [email protected] * @author Galder Zamarreño * @author Pete Muir * @author Pedro Ruivo * @since 5.1 * * @see Configuration reference * */ @Scope(Scopes.GLOBAL) @SurvivesRestarts public class GlobalConfiguration { /** * Default replication version, from {@link org.infinispan.Version#getVersionShort}. */ public static final short DEFAULT_MARSHALL_VERSION = Version.getVersionShort(); private final GlobalJmxStatisticsConfiguration globalJmxStatistics; private final TransportConfiguration transport; private final GlobalSecurityConfiguration security; private final SerializationConfiguration serialization; private final ShutdownConfiguration shutdown; private final GlobalStateConfiguration globalState; private final Map, ?> modules; private final SiteConfiguration site; private final WeakReference cl; private final ThreadPoolConfiguration expirationThreadPool; private final ThreadPoolConfiguration listenerThreadPool; private final ThreadPoolConfiguration replicationQueueThreadPool; private final ThreadPoolConfiguration persistenceThreadPool; private final ThreadPoolConfiguration stateTransferThreadPool; private final ThreadPoolConfiguration asyncThreadPool; GlobalConfiguration(ThreadPoolConfiguration expirationThreadPool, ThreadPoolConfiguration listenerThreadPool, ThreadPoolConfiguration replicationQueueThreadPool, ThreadPoolConfiguration persistenceThreadPool, ThreadPoolConfiguration stateTransferThreadPool, ThreadPoolConfiguration asyncThreadPool, GlobalJmxStatisticsConfiguration globalJmxStatistics, TransportConfiguration transport, GlobalSecurityConfiguration security, SerializationConfiguration serialization, ShutdownConfiguration shutdown, GlobalStateConfiguration globalState, List modules, SiteConfiguration site,ClassLoader cl) { this.expirationThreadPool = expirationThreadPool; this.listenerThreadPool = listenerThreadPool; this.replicationQueueThreadPool = replicationQueueThreadPool; this.persistenceThreadPool = persistenceThreadPool; this.stateTransferThreadPool = stateTransferThreadPool; this.asyncThreadPool = asyncThreadPool; this.globalJmxStatistics = globalJmxStatistics; this.transport = transport; this.security = security; this.serialization = serialization; this.shutdown = shutdown; this.globalState = globalState; Map, Object> moduleMap = new HashMap, Object>(); for(Object module : modules) { moduleMap.put(module.getClass(), module); } this.modules = Collections.unmodifiableMap(moduleMap); this.site = site; this.cl = new WeakReference(cl); } /** * @deprecated This method always returns null now. * Look for a thread pool named as {@link #listenerThreadPool()} instead. */ @Deprecated public ExecutorFactoryConfiguration asyncListenerExecutor() { return null; } /** * @deprecated This method always returns null now. * Look for a thread pool named as {@link #persistenceThreadPool()} instead. */ @Deprecated public ExecutorFactoryConfiguration persistenceExecutor() { return null; } /** * @deprecated This method always returns null now. * Look for a thread pool named as {@link TransportConfiguration#transportThreadPool()} * instead. */ @Deprecated public ExecutorFactoryConfiguration asyncTransportExecutor() { return null; } /** * @deprecated This method always returns null now. * Look for a thread pool named as * {@link TransportConfiguration#remoteCommandThreadPool()} instead. */ @Deprecated public ExecutorFactoryConfiguration remoteCommandsExecutor() { return null; } /** * @deprecated This method always returns null now. * Look for a thread pool named as {@link #expirationThreadPool()} instead. */ @Deprecated public ScheduledExecutorFactoryConfiguration evictionScheduledExecutor() { return null; } /** * @deprecated This method always returns null now. * Look for a thread pool named as {@link #replicationQueueThreadPool()} instead. */ @Deprecated public ScheduledExecutorFactoryConfiguration replicationQueueScheduledExecutor() { return null; } public ThreadPoolConfiguration expirationThreadPool() { return expirationThreadPool; } /** * @deprecated Use {@link #expirationThreadPool} instead */ @Deprecated public ThreadPoolConfiguration evictionThreadPool() { return expirationThreadPool; } public ThreadPoolConfiguration listenerThreadPool() { return listenerThreadPool; } public ThreadPoolConfiguration replicationQueueThreadPool() { return replicationQueueThreadPool; } public ThreadPoolConfiguration persistenceThreadPool() { return persistenceThreadPool; } public ThreadPoolConfiguration stateTransferThreadPool() { return stateTransferThreadPool; } public ThreadPoolConfiguration asyncThreadPool() { return asyncThreadPool; } public GlobalJmxStatisticsConfiguration globalJmxStatistics() { return globalJmxStatistics; } public TransportConfiguration transport() { return transport; } public GlobalSecurityConfiguration security() { return security; } public SerializationConfiguration serialization() { return serialization; } public ShutdownConfiguration shutdown() { return shutdown; } public GlobalStateConfiguration globalState() { return globalState; } @SuppressWarnings("unchecked") public T module(Class moduleClass) { return (T)modules.get(moduleClass); } public Map, ?> modules() { return modules; } /** * Get the classloader in use by this configuration. */ public ClassLoader classLoader() { return cl.get(); } public SiteConfiguration sites() { return site; } @Override public String toString() { return "GlobalConfiguration{" + "listenerThreadPool=" + listenerThreadPool + ", expirationThreadPool=" + expirationThreadPool + ", persistenceThreadPool=" + persistenceThreadPool + ", stateTransferThreadPool=" + stateTransferThreadPool + ", replicationQueueThreadPool=" + replicationQueueThreadPool + ", globalJmxStatistics=" + globalJmxStatistics + ", transport=" + transport + ", security=" + security + ", serialization=" + serialization + ", shutdown=" + shutdown + ", globalState=" + globalState + ", modules=" + modules + ", site=" + site + ", cl=" + cl + '}'; } /** * @deprecated This method always returns null now. * Look for a thread pool named as * {@link TransportConfiguration#totalOrderThreadPool()} instead. */ @Deprecated public ExecutorFactoryConfiguration totalOrderExecutor() { return null; } public boolean isClustered() { return transport().transport() != null; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy