Package org.apache.ignite.configuration

## Class IgniteConfiguration

- java.lang.Object
- - org.apache.ignite.configuration.IgniteConfiguration

-     public class IgniteConfiguration
      extends Object

  This class defines grid runtime configuration. This configuration is passed to `Ignition.start(IgniteConfiguration)` method. It defines all configuration parameters required to start a grid instance. Usually, a special class called "loader" will create an instance of this interface and apply `Ignition.start(IgniteConfiguration)` method to initialize Ignite instance.

  Note that you should only set values that differ from defaults, as grid will automatically pick default values for all values that are not set.

  For more information about grid configuration and startup refer to `Ignition` documentation.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `AVAILABLE_PROC_CNT` | Default core size of public thread pool.
    `static String` | `COURTESY_LOGGER_NAME` | Courtesy notice log category.
    `static boolean` | `DFLT_ACTIVE_ON_START` | Deprecated.
    `static boolean` | `DFLT_ALL_SEG_RESOLVERS_PASS_REQ` | Default value for all segmentation resolvers pass required.
    `static boolean` | `DFLT_AUTO_ACTIVATION` | Deprecated.
    `static int` | `DFLT_BUILD_IDX_THREAD_POOL_SIZE` | Default size of index create/rebuild thread pool.
    `static boolean` | `DFLT_CACHE_SANITY_CHECK_ENABLED` | Default value for cache sanity check enabled flag.
    `static Long` | `DFLT_CLIENT_FAILURE_DETECTION_TIMEOUT` | Default failure detection timeout for client nodes in millis.
    `static int` | `DFLT_DATA_STREAMER_POOL_SIZE` | Default size of data streamer thread pool.
    `static DeploymentMode` | `DFLT_DEPLOYMENT_MODE` | Default deployment mode (value is `DeploymentMode.SHARED`).
    `static long` | `DFLT_DISCOVERY_STARTUP_DELAY` | Default discovery startup delay in milliseconds (value is `60,000ms`).
    `static Long` | `DFLT_FAILURE_DETECTION_TIMEOUT` | Default failure detection timeout in millis.
    `static boolean` | `DFLT_LATE_AFF_ASSIGNMENT` | Deprecated.
    `static long` | `DFLT_LONG_QRY_WARN_TIMEOUT` | Deprecated. Please use `SqlConfiguration.DFLT_LONG_QRY_WARN_TIMEOUT`.
    `static boolean` | `DFLT_MARSHAL_LOCAL_JOBS` | Default marshal local jobs flag.
    `static long` | `DFLT_METRICS_EXPIRE_TIME` | Default metrics expire time.
    `static int` | `DFLT_METRICS_HISTORY_SIZE` | Default metrics history size (value is `10000`).
    `static long` | `DFLT_METRICS_LOG_FREQ` | Default frequency of metrics log print out.
    `static long` | `DFLT_METRICS_UPDATE_FREQ` | Default metrics update frequency.
    `static int` | `DFLT_MGMT_THREAD_CNT` | Default size of management thread pool.
    `static int` | `DFLT_NETWORK_COMPRESSION` | Default compression level for network messages (value is Deflater.BEST_SPEED.
    `static long` | `DFLT_NETWORK_TIMEOUT` | Default maximum timeout to wait for network responses in milliseconds (value is `5,000ms`).
    `static boolean` | `DFLT_P2P_ENABLED` | Default flag for peer class loading.
    `static int` | `DFLT_P2P_MISSED_RESOURCES_CACHE_SIZE` | Default cache size for missed resources.
    `static int` | `DFLT_P2P_THREAD_CNT` | Default size of peer class loading thread pool.
    `static int` | `DFLT_PUBLIC_THREAD_CNT` | Default core size of public thread pool.
    `static int` | `DFLT_QUERY_THREAD_POOL_SIZE` | Default size of query thread pool.
    `static int` | `DFLT_REBALANCE_BATCH_SIZE` | Default rebalance batch size in bytes (value is `512Kb`).
    `static long` | `DFLT_REBALANCE_BATCHES_PREFETCH_COUNT` | Default rebalance batches prefetch count (value is `3`).
    `static int` | `DFLT_REBALANCE_THREAD_POOL_SIZE` | Default limit of threads used for rebalance.
    `static long` | `DFLT_REBALANCE_THROTTLE` | Time to wait between rebalance messages in milliseconds to avoid overloading CPU (value is `0`).
    `static long` | `DFLT_REBALANCE_TIMEOUT` | Default rebalance message timeout in milliseconds (value is `10000`).
    `static long` | `DFLT_SEG_CHK_FREQ` | Default segment check frequency in discovery manager.
    `static SegmentationPolicy` | `DFLT_SEG_PLC` | Default segmentation policy.
    `static int` | `DFLT_SEG_RESOLVE_ATTEMPTS` | Default value segmentation resolve attempts count.
    `static int` | `DFLT_SEND_RETRY_CNT` | Default message send retries count.
    `static long` | `DFLT_SEND_RETRY_DELAY` | Default interval between message send retries.
    `static ShutdownPolicy` | `DFLT_SHUTDOWN_POLICY` | Default policy for node shutdown.
    `static String` | `DFLT_SNAPSHOT_DIRECTORY` | Default relative working directory path for snapshot operation result.
    `static int` | `DFLT_SNAPSHOT_THREAD_POOL_SIZE` | Default number of threads to perform snapshot operations.
    `static int` | `DFLT_SQL_QUERY_HISTORY_SIZE` | Deprecated. Please use `SqlConfiguration.DFLT_SQL_QUERY_HISTORY_SIZE`.
    `static ClusterState` | `DFLT_STATE_ON_START` | Default value for cluster state on start.
    `static int` | `DFLT_SYSTEM_CORE_THREAD_CNT` | Default size of system thread pool.
    `static int` | `DFLT_TCP_PORT` | Default TCP server port.
    `static long` | `DFLT_THREAD_KEEP_ALIVE_TIME` | Default Ignite thread keep alive time.
    `static int` | `DFLT_TIME_SERVER_PORT_BASE` | Default time server port base.
    `static int` | `DFLT_TIME_SERVER_PORT_RANGE` | Default time server port range.
    `static boolean` | `DFLT_WAIT_FOR_SEG_ON_START` | Default value for wait for segment on startup flag.
    `ShutdownPolicy` | `shutdown` | Shutdown policy for cluster.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `IgniteConfiguration()` | Creates valid grid configuration with all default values.
    `IgniteConfiguration​(IgniteConfiguration cfg)` | Creates grid configuration by coping all configuration properties from given configuration.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `AddressResolver` | `getAddressResolver()` | Gets address resolver for addresses mapping determination.
    `int` | `getAsyncCallbackPoolSize()` | Size of thread pool that is in charge of processing asynchronous callbacks.
    `Executor` | `getAsyncContinuationExecutor()` | Gets the continuation executor for cache async APIs.
    `AtomicConfiguration` | `getAtomicConfiguration()` |
    `BinaryConfiguration` | `getBinaryConfiguration()` | Gets configuration for Ignite Binary objects.
    `int` | `getBuildIndexThreadPoolSize()` | Size of thread pool for create/rebuild index.
    `CacheConfiguration[]` | `getCacheConfiguration()` | Gets configuration (descriptors) for all caches.
    `CacheKeyConfiguration[]` | `getCacheKeyConfiguration()` | Gets cache key configuration.
    `javax.cache.configuration.Factory<CacheStoreSessionListener>[]` | `getCacheStoreSessionListenerFactories()` | Gets cache store session listener factories.
    `CheckpointSpi[]` | `getCheckpointSpi()` | Should return fully configured checkpoint SPI implementation.
    `ClassLoader` | `getClassLoader()` |
    `@Nullable ClientConnectorConfiguration` | `getClientConnectorConfiguration()` | Gets client connector configuration.
    `Long` | `getClientFailureDetectionTimeout()` | Returns failure detection timeout for client nodes used by `TcpDiscoverySpi` and `TcpCommunicationSpi`.
    `@Nullable ClusterState` | `getClusterStateOnStart()` | Gets state of cluster on start.
    `CollisionSpi` | `getCollisionSpi()` | Should return fully configured collision SPI implementation.
    `CommunicationFailureResolver` | `getCommunicationFailureResolver()` |
    `CommunicationSpi` | `getCommunicationSpi()` | Should return fully configured SPI communication implementation.
    `ConnectorConfiguration` | `getConnectorConfiguration()` |
    `Serializable` | `getConsistentId()` | Gets consistent globally unique node ID which survives node restarts.
    `DataStorageConfiguration` | `getDataStorageConfiguration()` | Gets page memory configuration.
    `int` | `getDataStreamerThreadPoolSize()` | Size of thread pool that is in charge of processing data stream messages.
    `long` | `getDefaultQueryTimeout()` | Deprecated. Use `SqlConfiguration.getDefaultQueryTimeout()` instead.
    `DeploymentMode` | `getDeploymentMode()` | Deprecated. Will be replaced with the IgniteClassPath in the next versions.
    `DeploymentSpi` | `getDeploymentSpi()` | Deprecated. Will be replaced with the IgniteClassPath in the next versions.
    `DiscoverySpi` | `getDiscoverySpi()` | Should return fully configured discovery SPI implementation.
    `long` | `getDiscoveryStartupDelay()` | Deprecated. Not used any more.
    `Map<String,​String>` | `getDistributedPropertiesDefaultValues()` | Gets default values for distributed properties.
    `EncryptionSpi` | `getEncryptionSpi()` | Gets fully configured encryption SPI implementations.
    `EventStorageSpi` | `getEventStorageSpi()` | Should return fully configured event SPI implementation.
    `ExecutorConfiguration[]` | `getExecutorConfiguration()` | Gets custom executors for user compute tasks.
    `FailoverSpi[]` | `getFailoverSpi()` | Should return fully configured failover SPI implementation.
    `Long` | `getFailureDetectionTimeout()` | Returns failure detection timeout used by `TcpDiscoverySpi` and `TcpCommunicationSpi`.
    `FailureHandler` | `getFailureHandler()` | Gets failure handler.
    `IgniteLogger` | `getGridLogger()` | Should return an instance of logger to use in grid.
    `String` | `getGridName()` | Deprecated. Use `getIgniteInstanceName()` instead.
    `String` | `getIgniteHome()` | Should return Ignite installation home folder.
    `String` | `getIgniteInstanceName()` | Gets optional local instance name.
    `int[]` | `getIncludeEventTypes()` | Gets array of event types, which will be recorded.
    `String[]` | `getIncludeProperties()` | Gets array of system or environment properties to include into node attributes.
    `IndexingSpi` | `getIndexingSpi()` | Should return fully configured indexing SPI implementations.
    `LifecycleBean[]` | `getLifecycleBeans()` | Returns a collection of life-cycle beans.
    `LoadBalancingSpi[]` | `getLoadBalancingSpi()` | Should return fully configured load balancing SPI implementation.
    `Map<IgnitePredicate<? extends Event>,​int[]>` | `getLocalEventListeners()` | Gets map of pre-configured local event listeners.
    `String` | `getLocalHost()` | Gets system-wide local address or host for all Ignite components to bind to.
    `long` | `getLongQueryWarningTimeout()` | Deprecated. Use `SqlConfiguration.getLongQueryWarningTimeout()` instead.
    `int` | `getManagementThreadPoolSize()` | Size of thread pool that is in charge of processing internal and Visor `GridJobs`.
    `MBeanServer` | `getMBeanServer()` | Should return MBean server instance.
    `MemoryConfiguration` | `getMemoryConfiguration()` | Deprecated. Use `DataStorageConfiguration` instead.
    `MetricExporterSpi[]` | `getMetricExporterSpi()` | Gets fully configured metric SPI implementations.
    `long` | `getMetricsExpireTime()` | Elapsed time in milliseconds after which node metrics are considered expired.
    `int` | `getMetricsHistorySize()` | Number of node metrics to keep in memory to calculate totals and averages.
    `long` | `getMetricsLogFrequency()` | Gets frequency of metrics log print out.
    `long` | `getMetricsUpdateFrequency()` | Gets Ignite metrics update frequency in milliseconds.
    `int` | `getNetworkCompressionLevel()` | Compression level of internal network messages.
    `int` | `getNetworkSendRetryCount()` | Message send retries count.
    `long` | `getNetworkSendRetryDelay()` | Interval in milliseconds between message send retries.
    `long` | `getNetworkTimeout()` | Maximum timeout in milliseconds for network requests.
    `UUID` | `getNodeId()` | Deprecated.
    `OdbcConfiguration` | `getOdbcConfiguration()` | Deprecated. Use `getClientConnectorConfiguration()` ()} instead.
    `String[]` | `getPeerClassLoadingLocalClassPathExclude()` | Should return list of packages from the system classpath that need to be peer-to-peer loaded from task originating node. '*' is supported at the end of the package name which means that all sub-packages and their classes are included like in Java package import clause.
    `int` | `getPeerClassLoadingMissedResourcesCacheSize()` | Returns missed resources cache size.
    `int` | `getPeerClassLoadingThreadPoolSize()` | Size of thread pool which is in charge of peer class loading requests/responses.
    `PersistentStoreConfiguration` | `getPersistentStoreConfiguration()` | Deprecated. Part of old API.
    `PlatformConfiguration` | `getPlatformConfiguration()` | Gets platform configuration.
    `PluginConfiguration[]` | `getPluginConfigurations()` | Deprecated.
    `PluginProvider[]` | `getPluginProviders()` | Gets plugin providers.
    `int` | `getPublicThreadPoolSize()` | Should return a thread pool size to be used in grid.
    `int` | `getQueryThreadPoolSize()` | Size of thread pool that is in charge of processing query messages.
    `long` | `getRebalanceBatchesPrefetchCount()` | The number of batches generated by supply node at rebalancing procedure start.
    `int` | `getRebalanceBatchSize()` | The supply message size in bytes to be loaded within a single rebalance batch.
    `int` | `getRebalanceThreadPoolSize()` | Gets Max count of threads can be used at rebalancing.
    `long` | `getRebalanceThrottle()` | Time in milliseconds to wait between rebalance messages to avoid overloading of CPU or network.
    `long` | `getRebalanceTimeout()` | Rebalance timeout for supply and demand messages in milliseconds.
    `SegmentationPolicy` | `getSegmentationPolicy()` | Returns segmentation policy.
    `int` | `getSegmentationResolveAttempts()` | Gets segmentation resolve attempts.
    `SegmentationResolver[]` | `getSegmentationResolvers()` | Returns a collection of segmentation resolvers.
    `long` | `getSegmentCheckFrequency()` | Returns frequency of network segment check by discovery manager.
    `ServiceConfiguration[]` | `getServiceConfiguration()` | Gets configurations for services to be deployed on the grid.
    `int` | `getServiceThreadPoolSize()` | Should return a thread pool size to be used in grid.
    `ShutdownPolicy` | `getShutdownPolicy()` | Gets shutdown policy.
    `String` | `getSnapshotPath()` |
    `int` | `getSnapshotThreadPoolSize()` |
    `SqlConfiguration` | `getSqlConfiguration()` | Gets Configuration of the SQL subsystem.
    `SqlConnectorConfiguration` | `getSqlConnectorConfiguration()` | Deprecated. Use `getClientConnectorConfiguration()` instead.
    `int` | `getSqlQueryHistorySize()` | Deprecated. Use `SqlConfiguration.setSqlQueryHistorySize(int)` instead.
    `String[]` | `getSqlSchemas()` | Deprecated. Use `SqlConfiguration.getSqlSchemas()` instead.
    `javax.cache.configuration.Factory<SSLContext>` | `getSslContextFactory()` | Returns SSL context factory that will be used for creating a secure socket layer.
    `int` | `getStripedPoolSize()` | Returns striped pool size that should be used for cache requests processing.
    `int` | `getSystemThreadPoolSize()` | Size of thread pool that is in charge of processing internal system messages.
    `SystemViewExporterSpi[]` | `getSystemViewExporterSpi()` | Gets fully configured system view SPI implementations.
    `Long` | `getSystemWorkerBlockedTimeout()` | Returns maximum inactivity period for system worker.
    `int` | `getTimeServerPortBase()` | Gets base UPD port number for grid time server.
    `int` | `getTimeServerPortRange()` | Defines port range to try for time server start.
    `TracingSpi` | `getTracingSpi()` | Gets fully configured tracing SPI implementation.
    `TransactionConfiguration` | `getTransactionConfiguration()` | Gets transactions configuration.
    `Map<String,​?>` | `getUserAttributes()` | Should return any user-defined attributes to be added to this node.
    `long` | `getUtilityCacheKeepAliveTime()` | Keep alive time of thread pool that is in charge of processing utility cache messages.
    `int` | `getUtilityCacheThreadPoolSize()` | Default size of thread pool that is in charge of processing utility cache messages.
    `IgniteInClosure<IgniteConfiguration>` | `getWarmupClosure()` | Gets grid warmup closure.
    `String` | `getWorkDirectory()` | Gets Ignite work directory.
    `boolean` | `isActiveOnStart()` | Deprecated. Use `getClusterStateOnStart()` instead.
    `boolean` | `isAllSegmentationResolversPassRequired()` | Gets all segmentation resolvers pass required flag.
    `boolean` | `isAuthenticationEnabled()` | Returns `true` if user authentication is enabled for cluster.
    `boolean` | `isAutoActivationEnabled()` | Deprecated. Use `getClusterStateOnStart()` instead.
    `boolean` | `isCacheSanityCheckEnabled()` | Gets flag indicating whether cache sanity check is enabled.
    `Boolean` | `isClientMode()` | Gets client mode flag.
    `boolean` | `isLateAffinityAssignment()` | Deprecated. Starting from Ignite 2.1 late affinity assignment is always enabled.
    `boolean` | `isMarshalLocalJobs()` | If this flag is set to `true`, jobs mapped to local node will be marshalled as if it was remote node.
    `boolean` | `isPeerClassLoadingEnabled()` | Returns `true` if peer class loading is enabled, `false` otherwise.
    `boolean` | `isPersistentStoreEnabled()` | Deprecated. Part of legacy configuration API.
    `boolean` | `isWaitForSegmentOnStart()` | Gets wait for segment on startup flag.
    `IgniteConfiguration` | `setActiveOnStart​(boolean activeOnStart)` | Deprecated. Use `setClusterStateOnStart(ClusterState)` instead.
    `IgniteConfiguration` | `setAddressResolver​(AddressResolver addrRslvr)` | Sets address resolver for addresses mapping determination.
    `IgniteConfiguration` | `setAllSegmentationResolversPassRequired​(boolean allResolversPassReq)` | Sets all segmentation resolvers pass required flag.
    `IgniteConfiguration` | `setAsyncCallbackPoolSize​(int poolSize)` | Sets async callback thread pool size to use within grid.
    `IgniteConfiguration` | `setAsyncContinuationExecutor​(Executor asyncContinuationExecutor)` | Sets the continuation executor for cache async APIs.
    `IgniteConfiguration` | `setAtomicConfiguration​(AtomicConfiguration atomicCfg)` |
    `IgniteConfiguration` | `setAuthenticationEnabled​(boolean authEnabled)` | Sets flag indicating whether the user authentication is enabled for cluster.
    `IgniteConfiguration` | `setAutoActivationEnabled​(boolean autoActivation)` | Deprecated. Use `setClusterStateOnStart(ClusterState)` instead.
    `IgniteConfiguration` | `setBinaryConfiguration​(BinaryConfiguration binaryCfg)` | Sets configuration for Ignite Binary objects.
    `IgniteConfiguration` | `setBuildIndexThreadPoolSize​(int poolSize)` | Sets index create/rebuild thread pool size to use within grid.
    `IgniteConfiguration` | `setCacheConfiguration​(CacheConfiguration... cacheCfg)` | Sets cache configurations.
    `IgniteConfiguration` | `setCacheKeyConfiguration​(CacheKeyConfiguration... cacheKeyCfg)` | Sets cache key configuration.
    `IgniteConfiguration` | `setCacheSanityCheckEnabled​(boolean cacheSanityCheckEnabled)` | Sets cache sanity check flag.
    `IgniteConfiguration` | `setCacheStoreSessionListenerFactories​(javax.cache.configuration.Factory<CacheStoreSessionListener>... storeSesLsnrs)` | Cache store session listener factories.
    `IgniteConfiguration` | `setCheckpointSpi​(CheckpointSpi... cpSpi)` | Sets fully configured instance of `CheckpointSpi`.
    `IgniteConfiguration` | `setClassLoader​(ClassLoader classLdr)` | Sets loader which will be used for instantiating execution context (`EntryProcessors`, `CacheEntryListeners`, `CacheLoaders` and `ExpiryPolicys`).
    `IgniteConfiguration` | `setClientConnectorConfiguration​(@Nullable ClientConnectorConfiguration cliConnCfg)` | Sets client connector configuration.
    `IgniteConfiguration` | `setClientFailureDetectionTimeout​(long clientFailureDetectionTimeout)` | Sets failure detection timeout to use in `TcpDiscoverySpi` and `TcpCommunicationSpi`.
    `IgniteConfiguration` | `setClientMode​(boolean clientMode)` | Sets client mode flag.
    `IgniteConfiguration` | `setClusterStateOnStart​(ClusterState state)` | Sets state of cluster on start.
    `IgniteConfiguration` | `setCollisionSpi​(CollisionSpi colSpi)` | Sets fully configured instance of `CollisionSpi`.
    `IgniteConfiguration` | `setCommunicationFailureResolver​(CommunicationFailureResolver commFailureRslvr)` |
    `IgniteConfiguration` | `setCommunicationSpi​(CommunicationSpi commSpi)` | Sets fully configured instance of `CommunicationSpi`.
    `IgniteConfiguration` | `setConnectorConfiguration​(ConnectorConfiguration connectorCfg)` |
    `IgniteConfiguration` | `setConsistentId​(Serializable consistentId)` | Sets consistent globally unique node ID which survives node restarts.
    `IgniteConfiguration` | `setDataStorageConfiguration​(DataStorageConfiguration dsCfg)` | Sets durable memory configuration.
    `IgniteConfiguration` | `setDataStreamerThreadPoolSize​(int poolSize)` | Set thread pool size that will be used to process data stream messages.
    `IgniteConfiguration` | `setDefaultQueryTimeout​(long dfltQryTimeout)` | Deprecated. Use `SqlConfiguration.setDefaultQueryTimeout(long)` instead.
    `IgniteConfiguration` | `setDeploymentMode​(DeploymentMode deployMode)` | Deprecated. Will be replaced with the IgniteClassPath in the next versions.
    `IgniteConfiguration` | `setDeploymentSpi​(DeploymentSpi deploySpi)` | Deprecated. Will be replaced with the IgniteClassPath in the next versions.
    `IgniteConfiguration` | `setDiscoverySpi​(DiscoverySpi discoSpi)` | Sets fully configured instance of `DiscoverySpi`.
    `IgniteConfiguration` | `setDiscoveryStartupDelay​(long discoStartupDelay)` | Deprecated. Not used any more.
    `IgniteConfiguration` | `setDistributedPropertiesDefaultValues​(Map<String,​String> distrProps)` | Sets default values for distributed properties.
    `IgniteConfiguration` | `setEncryptionSpi​(EncryptionSpi encryptionSpi)` | Sets fully configured instances of `EncryptionSpi`.
    `IgniteConfiguration` | `setEventStorageSpi​(EventStorageSpi evtSpi)` | Sets fully configured instance of `EventStorageSpi`.
    `IgniteConfiguration` | `setExecutorConfiguration​(ExecutorConfiguration... execCfgs)` | Sets custom executors for user compute tasks.
    `IgniteConfiguration` | `setFailoverSpi​(FailoverSpi... failSpi)` | Sets fully configured instance of `FailoverSpi`.
    `IgniteConfiguration` | `setFailureDetectionTimeout​(long failureDetectionTimeout)` | Sets failure detection timeout to use in `TcpDiscoverySpi` and `TcpCommunicationSpi`.
    `IgniteConfiguration` | `setFailureHandler​(FailureHandler failureHnd)` | Sets failure handler.
    `IgniteConfiguration` | `setGridLogger​(IgniteLogger log)` | Sets logger to use within grid.
    `IgniteConfiguration` | `setGridName​(String gridName)` | Deprecated. Use `setIgniteInstanceName(String)` instead.
    `IgniteConfiguration` | `setIgniteHome​(String igniteHome)` | Sets Ignite installation folder.
    `IgniteConfiguration` | `setIgniteInstanceName​(String instanceName)` | Sets of local instance name.
    `IgniteConfiguration` | `setIncludeEventTypes​(int... inclEvtTypes)` | Sets array of event types, which will be recorded by `GridEventStorageManager.record(Event)`.
    `IgniteConfiguration` | `setIncludeProperties​(String... includeProps)` | Sets array of system or environment property names to include into node attributes.
    `IgniteConfiguration` | `setIndexingSpi​(IndexingSpi indexingSpi)` | Sets fully configured instances of `IndexingSpi`.
    `IgniteConfiguration` | `setLateAffinityAssignment​(boolean lateAffAssignment)` | Deprecated. Starting from Ignite 2.1 late affinity assignment is always enabled.
    `IgniteConfiguration` | `setLifecycleBeans​(LifecycleBean... lifecycleBeans)` | Sets a collection of lifecycle beans.
    `IgniteConfiguration` | `setLoadBalancingSpi​(LoadBalancingSpi... loadBalancingSpi)` | Sets fully configured instance of `LoadBalancingSpi`.
    `IgniteConfiguration` | `setLocalEventListeners​(Map<IgnitePredicate<? extends Event>,​int[]> lsnrs)` | Sets map of pre-configured local event listeners.
    `IgniteConfiguration` | `setLocalHost​(String locHost)` | Sets system-wide local address or host for all Ignite components to bind to.
    `IgniteConfiguration` | `setLongQueryWarningTimeout​(long longQryWarnTimeout)` | Deprecated. Use `SqlConfiguration.setLongQueryWarningTimeout(long)` instead.
    `IgniteConfiguration` | `setManagementThreadPoolSize​(int poolSize)` | Sets management thread pool size to use within grid.
    `IgniteConfiguration` | `setMarshalLocalJobs​(boolean marshLocJobs)` | Sets marshal local jobs flag.
    `IgniteConfiguration` | `setMBeanServer​(MBeanServer mbeanSrv)` | Sets initialized and started MBean server.
    `IgniteConfiguration` | `setMemoryConfiguration​(MemoryConfiguration memCfg)` | Deprecated. Use `DataStorageConfiguration` instead.
    `IgniteConfiguration` | `setMetricExporterSpi​(MetricExporterSpi... metricExporterSpi)` | Sets fully configured instances of `MetricExporterSpi`.
    `IgniteConfiguration` | `setMetricsExpireTime​(long metricsExpTime)` | Sets time in milliseconds after which a certain metric value is considered expired.
    `IgniteConfiguration` | `setMetricsHistorySize​(int metricsHistSize)` | Sets number of metrics kept in history to compute totals and averages.
    `IgniteConfiguration` | `setMetricsLogFrequency​(long metricsLogFreq)` | Sets frequency of metrics log print out.
    `IgniteConfiguration` | `setMetricsUpdateFrequency​(long metricsUpdateFreq)` | Sets Ignite metrics update frequency in milliseconds.
    `void` | `setNetworkCompressionLevel​(int netCompressionLevel)` | Sets compression level for internal network messages.
    `IgniteConfiguration` | `setNetworkSendRetryCount​(int sndRetryCnt)` | Sets message send retries count.
    `IgniteConfiguration` | `setNetworkSendRetryDelay​(long sndRetryDelay)` | Sets interval in milliseconds between message send retries.
    `IgniteConfiguration` | `setNetworkTimeout​(long netTimeout)` | Maximum timeout in milliseconds for network requests.
    `IgniteConfiguration` | `setNodeId​(UUID nodeId)` | Deprecated. Use `setConsistentId(Serializable)` instead.
    `IgniteConfiguration` | `setOdbcConfiguration​(OdbcConfiguration odbcCfg)` | Deprecated. Use `setClientConnectorConfiguration(ClientConnectorConfiguration)` instead.
    `IgniteConfiguration` | `setPeerClassLoadingEnabled​(boolean p2pEnabled)` | Enables/disables peer class loading.
    `IgniteConfiguration` | `setPeerClassLoadingLocalClassPathExclude​(String... p2pLocClsPathExcl)` | Sets list of packages in a system class path that should be P2P loaded even if they exist locally.
    `IgniteConfiguration` | `setPeerClassLoadingMissedResourcesCacheSize​(int p2pMissedCacheSize)` | Sets size of missed resources cache.
    `IgniteConfiguration` | `setPeerClassLoadingThreadPoolSize​(int poolSize)` | Sets thread pool size to use for peer class loading.
    `IgniteConfiguration` | `setPersistentStoreConfiguration​(PersistentStoreConfiguration pstCfg)` | Deprecated. Part of old API.
    `IgniteConfiguration` | `setPlatformConfiguration​(PlatformConfiguration platformCfg)` | Sets platform configuration.
    `IgniteConfiguration` | `setPluginConfigurations​(PluginConfiguration... pluginCfgs)` | Deprecated. Since `PluginProvider`s can be set explicitly via `setPluginProviders(PluginProvider[])` it's preferable to store `PluginConfiguration` as a part of `PluginProvider`.
    `IgniteConfiguration` | `setPluginProviders​(PluginProvider... pluginProvs)` | Sets plugin providers.
    `IgniteConfiguration` | `setPublicThreadPoolSize​(int poolSize)` | Sets thread pool size to use within grid.
    `IgniteConfiguration` | `setQueryThreadPoolSize​(int poolSize)` | Sets query thread pool size to use within grid.
    `IgniteConfiguration` | `setRebalanceBatchesPrefetchCount​(long rebalanceBatchesCnt)` | The number of batches generated by supply node at rebalancing procedure start.
    `IgniteConfiguration` | `setRebalanceBatchSize​(int rebalanceBatchSize)` | The supply message size in bytes to be loaded within a single rebalance batch.
    `IgniteConfiguration` | `setRebalanceThreadPoolSize​(int rebalanceThreadPoolSize)` | Sets Max count of threads can be used at rebalancing.
    `IgniteConfiguration` | `setRebalanceThrottle​(long rebalanceThrottle)` | Time in milliseconds to wait between rebalance messages to avoid overloading of CPU or network.
    `IgniteConfiguration` | `setRebalanceTimeout​(long rebalanceTimeout)` | Rebalance timeout for supply and demand messages in milliseconds.
    `IgniteConfiguration` | `setSegmentationPolicy​(SegmentationPolicy segPlc)` | Sets segmentation policy.
    `IgniteConfiguration` | `setSegmentationResolveAttempts​(int segResolveAttempts)` | Sets segmentation resolve attempts count.
    `IgniteConfiguration` | `setSegmentationResolvers​(SegmentationResolver... segResolvers)` | Sets segmentation resolvers.
    `IgniteConfiguration` | `setSegmentCheckFrequency​(long segChkFreq)` | Sets network segment check frequency.
    `IgniteConfiguration` | `setServiceConfiguration​(ServiceConfiguration... svcCfgs)` | Sets configurations for services to be deployed on the grid.
    `IgniteConfiguration` | `setServiceThreadPoolSize​(int poolSize)` | Sets thread pool size to use within grid.
    `IgniteConfiguration` | `setShutdownPolicy​(ShutdownPolicy shutdownPolicy)` | Sets shutdown policy.
    `IgniteConfiguration` | `setSnapshotPath​(String snapshotPath)` |
    `IgniteConfiguration` | `setSnapshotThreadPoolSize​(int snapshotThreadPoolSize)` |
    `IgniteConfiguration` | `setSqlConfiguration​(SqlConfiguration sqlCfg)` |
    `IgniteConfiguration` | `setSqlConnectorConfiguration​(SqlConnectorConfiguration sqlConnCfg)` | Deprecated. Use `setClientConnectorConfiguration(ClientConnectorConfiguration)` instead.
    `IgniteConfiguration` | `setSqlQueryHistorySize​(int size)` | Deprecated. Use `SqlConfiguration.getSqlQueryHistorySize()` instead.
    `IgniteConfiguration` | `setSqlSchemas​(String... sqlSchemas)` | Deprecated. Use `SqlConfiguration.setSqlSchemas(String...)` instead.
    `IgniteConfiguration` | `setSslContextFactory​(javax.cache.configuration.Factory<SSLContext> sslCtxFactory)` | Sets SSL context factory that will be used for creating a secure socket layer.
    `IgniteConfiguration` | `setStripedPoolSize​(int stripedPoolSize)` | Sets striped pool size that should be used for cache requests processing.
    `IgniteConfiguration` | `setSystemThreadPoolSize​(int poolSize)` | Sets system thread pool size to use within grid.
    `IgniteConfiguration` | `setSystemViewExporterSpi​(SystemViewExporterSpi... sysViewExporterSpi)` | Sets fully configured instances of `SystemViewExporterSpi`.
    `IgniteConfiguration` | `setSystemWorkerBlockedTimeout​(long sysWorkerBlockedTimeout)` | Sets maximum inactivity period for system worker.
    `IgniteConfiguration` | `setTimeServerPortBase​(int timeSrvPortBase)` | Sets time server port base.
    `IgniteConfiguration` | `setTimeServerPortRange​(int timeSrvPortRange)` | Sets time server port range.
    `IgniteConfiguration` | `setTracingSpi​(TracingSpi tracingSpi)` | Set fully configured instance of `TracingSpi`.
    `IgniteConfiguration` | `setTransactionConfiguration​(TransactionConfiguration txCfg)` | Sets transactions configuration.
    `IgniteConfiguration` | `setUserAttributes​(Map<String,​?> userAttrs)` | Sets user attributes for this node.
    `IgniteConfiguration` | `setUtilityCacheKeepAliveTime​(long keepAliveTime)` | Sets keep alive time of thread pool size that will be used to process utility cache messages.
    `IgniteConfiguration` | `setUtilityCachePoolSize​(int poolSize)` | Sets default thread pool size that will be used to process utility cache messages.
    `IgniteConfiguration` | `setWaitForSegmentOnStart​(boolean waitForSegOnStart)` | Sets wait for segment on start flag.
    `IgniteConfiguration` | `setWarmupClosure​(IgniteInClosure<IgniteConfiguration> warmupClos)` | Sets warmup closure to execute before grid startup.
    `IgniteConfiguration` | `setWorkDirectory​(String igniteWorkDir)` | Sets Ignite work folder.
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### COURTESY_LOGGER_NAME

          public static final String COURTESY_LOGGER_NAME

      Courtesy notice log category.
      See Also:
        Constant Field Values

    - #### DFLT_P2P_ENABLED

          public static final boolean DFLT_P2P_ENABLED

      Default flag for peer class loading. By default the value is `false` which means that peer class loading is disabled.
      See Also:
        Constant Field Values

    - #### DFLT_METRICS_HISTORY_SIZE

          public static final int DFLT_METRICS_HISTORY_SIZE

      Default metrics history size (value is `10000`).
      See Also:
        Constant Field Values

    - #### DFLT_METRICS_UPDATE_FREQ

          public static final long DFLT_METRICS_UPDATE_FREQ

      Default metrics update frequency.
      See Also:
        Constant Field Values

    - #### DFLT_METRICS_EXPIRE_TIME

          public static final long DFLT_METRICS_EXPIRE_TIME

      Default metrics expire time. The value is `Long.MAX_VALUE` which means that metrics never expire.
      See Also:
        Constant Field Values

    - #### DFLT_NETWORK_TIMEOUT

          public static final long DFLT_NETWORK_TIMEOUT

      Default maximum timeout to wait for network responses in milliseconds (value is `5,000ms`).
      See Also:
        Constant Field Values

    - #### DFLT_NETWORK_COMPRESSION

          public static final int DFLT_NETWORK_COMPRESSION

      Default compression level for network messages (value is Deflater.BEST_SPEED.
      See Also:
        Constant Field Values

    - #### DFLT_SEND_RETRY_DELAY

          public static final long DFLT_SEND_RETRY_DELAY

      Default interval between message send retries.
      See Also:
        Constant Field Values

    - #### DFLT_SEND_RETRY_CNT

          public static final int DFLT_SEND_RETRY_CNT

      Default message send retries count.
      See Also:
        Constant Field Values

    - #### DFLT_DISCOVERY_STARTUP_DELAY

          public static final long DFLT_DISCOVERY_STARTUP_DELAY

      Default discovery startup delay in milliseconds (value is `60,000ms`).
      See Also:
        Constant Field Values

    - #### DFLT_DEPLOYMENT_MODE

          public static final DeploymentMode DFLT_DEPLOYMENT_MODE

      Default deployment mode (value is `DeploymentMode.SHARED`).

    - #### DFLT_P2P_MISSED_RESOURCES_CACHE_SIZE

          public static final int DFLT_P2P_MISSED_RESOURCES_CACHE_SIZE

      Default cache size for missed resources.
      See Also:
        Constant Field Values

    - #### DFLT_TIME_SERVER_PORT_BASE

          public static final int DFLT_TIME_SERVER_PORT_BASE

      Default time server port base.
      See Also:
        Constant Field Values

    - #### DFLT_TIME_SERVER_PORT_RANGE

          public static final int DFLT_TIME_SERVER_PORT_RANGE

      Default time server port range.
      See Also:
        Constant Field Values

    - #### AVAILABLE_PROC_CNT

          public static final int AVAILABLE_PROC_CNT

      Default core size of public thread pool.

    - #### DFLT_PUBLIC_THREAD_CNT

          public static final int DFLT_PUBLIC_THREAD_CNT

      Default core size of public thread pool.

    - #### DFLT_DATA_STREAMER_POOL_SIZE

          public static final int DFLT_DATA_STREAMER_POOL_SIZE

      Default size of data streamer thread pool.

    - #### DFLT_REBALANCE_THREAD_POOL_SIZE

          public static final int DFLT_REBALANCE_THREAD_POOL_SIZE

      Default limit of threads used for rebalance.

    - #### DFLT_REBALANCE_TIMEOUT

          public static final long DFLT_REBALANCE_TIMEOUT

      Default rebalance message timeout in milliseconds (value is `10000`).
      See Also:
        Constant Field Values

    - #### DFLT_REBALANCE_BATCHES_PREFETCH_COUNT

          public static final long DFLT_REBALANCE_BATCHES_PREFETCH_COUNT

      Default rebalance batches prefetch count (value is `3`).
      See Also:
        Constant Field Values

    - #### DFLT_REBALANCE_THROTTLE

          public static final long DFLT_REBALANCE_THROTTLE

      Time to wait between rebalance messages in milliseconds to avoid overloading CPU (value is `0`).
      See Also:
        Constant Field Values

    - #### DFLT_REBALANCE_BATCH_SIZE

          public static final int DFLT_REBALANCE_BATCH_SIZE

      Default rebalance batch size in bytes (value is `512Kb`).
      See Also:
        Constant Field Values

    - #### DFLT_SYSTEM_CORE_THREAD_CNT

          public static final int DFLT_SYSTEM_CORE_THREAD_CNT

      Default size of system thread pool.

    - #### DFLT_QUERY_THREAD_POOL_SIZE

          public static final int DFLT_QUERY_THREAD_POOL_SIZE

      Default size of query thread pool.

    - #### DFLT_BUILD_IDX_THREAD_POOL_SIZE

          public static final int DFLT_BUILD_IDX_THREAD_POOL_SIZE

      Default size of index create/rebuild thread pool.

    - #### DFLT_THREAD_KEEP_ALIVE_TIME

          public static final long DFLT_THREAD_KEEP_ALIVE_TIME

      Default Ignite thread keep alive time.
      See Also:
        Constant Field Values

    - #### DFLT_P2P_THREAD_CNT

          public static final int DFLT_P2P_THREAD_CNT

      Default size of peer class loading thread pool.
      See Also:
        Constant Field Values

    - #### DFLT_MGMT_THREAD_CNT

          public static final int DFLT_MGMT_THREAD_CNT

      Default size of management thread pool.
      See Also:
        Constant Field Values

    - #### DFLT_SEG_PLC

          public static final SegmentationPolicy DFLT_SEG_PLC

      Default segmentation policy.

    - #### DFLT_WAIT_FOR_SEG_ON_START

          public static final boolean DFLT_WAIT_FOR_SEG_ON_START

      Default value for wait for segment on startup flag.
      See Also:
        Constant Field Values

    - #### DFLT_ALL_SEG_RESOLVERS_PASS_REQ

          public static final boolean DFLT_ALL_SEG_RESOLVERS_PASS_REQ

      Default value for all segmentation resolvers pass required.
      See Also:
        Constant Field Values

    - #### DFLT_SEG_RESOLVE_ATTEMPTS

          public static final int DFLT_SEG_RESOLVE_ATTEMPTS

      Default value segmentation resolve attempts count.
      See Also:
        Constant Field Values

    - #### DFLT_SEG_CHK_FREQ

          public static final long DFLT_SEG_CHK_FREQ

      Default segment check frequency in discovery manager.
      See Also:
        Constant Field Values

    - #### DFLT_METRICS_LOG_FREQ

          public static final long DFLT_METRICS_LOG_FREQ

      Default frequency of metrics log print out.
      See Also:
        Constant Field Values

    - #### DFLT_TCP_PORT

          public static final int DFLT_TCP_PORT

      Default TCP server port.
      See Also:
        Constant Field Values

    - #### DFLT_MARSHAL_LOCAL_JOBS

          public static final boolean DFLT_MARSHAL_LOCAL_JOBS

      Default marshal local jobs flag.
      See Also:
        Constant Field Values

    - #### DFLT_CACHE_SANITY_CHECK_ENABLED

          public static final boolean DFLT_CACHE_SANITY_CHECK_ENABLED

      Default value for cache sanity check enabled flag.
      See Also:
        Constant Field Values

    - #### DFLT_SNAPSHOT_DIRECTORY

          public static final String DFLT_SNAPSHOT_DIRECTORY

      Default relative working directory path for snapshot operation result. The default directory is `snapshots`.
      See Also:
        Constant Field Values

    - #### DFLT_SNAPSHOT_THREAD_POOL_SIZE

          public static final int DFLT_SNAPSHOT_THREAD_POOL_SIZE

      Default number of threads to perform snapshot operations. The default value is `4`.
      See Also:
        Constant Field Values

    - #### DFLT_LATE_AFF_ASSIGNMENT

          @Deprecated
          public static final boolean DFLT_LATE_AFF_ASSIGNMENT

      Deprecated.
      Default value for late affinity assignment flag.
      See Also:
        Constant Field Values

    - #### DFLT_STATE_ON_START

          public static final ClusterState DFLT_STATE_ON_START

      Default value for cluster state on start.

    - #### DFLT_ACTIVE_ON_START

          @Deprecated
          public static final boolean DFLT_ACTIVE_ON_START

      Deprecated.
      Default value for active on start flag.
      See Also:
        Constant Field Values

    - #### DFLT_AUTO_ACTIVATION

          @Deprecated
          public static final boolean DFLT_AUTO_ACTIVATION

      Deprecated.
      Default value for auto-activation flag.
      See Also:
        Constant Field Values

    - #### DFLT_FAILURE_DETECTION_TIMEOUT

          public static final Long DFLT_FAILURE_DETECTION_TIMEOUT

      Default failure detection timeout in millis.

    - #### DFLT_CLIENT_FAILURE_DETECTION_TIMEOUT

          public static final Long DFLT_CLIENT_FAILURE_DETECTION_TIMEOUT

      Default failure detection timeout for client nodes in millis.

    - #### DFLT_SHUTDOWN_POLICY

          public static final ShutdownPolicy DFLT_SHUTDOWN_POLICY

      Default policy for node shutdown.

    - #### DFLT_LONG_QRY_WARN_TIMEOUT

          @Deprecated
          public static final long DFLT_LONG_QRY_WARN_TIMEOUT

      Deprecated.
      Please use `SqlConfiguration.DFLT_LONG_QRY_WARN_TIMEOUT`.
      Default timeout after which long query warning will be printed.
      See Also:
        Constant Field Values

    - #### DFLT_SQL_QUERY_HISTORY_SIZE

          @Deprecated
          public static final int DFLT_SQL_QUERY_HISTORY_SIZE

      Deprecated.
      Please use `SqlConfiguration.DFLT_SQL_QUERY_HISTORY_SIZE`.
      Default SQL query history size.
      See Also:
        Constant Field Values

    - #### shutdown

          public ShutdownPolicy shutdown

      Shutdown policy for cluster.

  - ### Constructor Detail

    - #### IgniteConfiguration

          public IgniteConfiguration()

      Creates valid grid configuration with all default values.

    - #### IgniteConfiguration

          public IgniteConfiguration​(IgniteConfiguration cfg)

      Creates grid configuration by coping all configuration properties from given configuration.
      Parameters:
        `cfg` - Grid configuration to copy from.

  - ### Method Detail

    - #### getCommunicationFailureResolver

          public CommunicationFailureResolver getCommunicationFailureResolver()

      Returns:
        Communication failure resovler.

    - #### setCommunicationFailureResolver

          public IgniteConfiguration setCommunicationFailureResolver​(CommunicationFailureResolver commFailureRslvr)

      Parameters:
        `commFailureRslvr` - Communication failure resovler.
      Returns:
        `this` instance.

    - #### getGridName

          @Deprecated
          public String getGridName()

      Deprecated.
      Use `getIgniteInstanceName()` instead.
      Gets optional grid name. Returns `null` if non-default grid name was not provided.

      The name only works locally and has no effect on topology

      Returns:
        Optional grid name. Can be `null`, which is default grid name, if non-default grid name was not provided.

    - #### getIgniteInstanceName

          public String getIgniteInstanceName()

      Gets optional local instance name. Returns `null` if non-default local instance name was not provided.

      The name only works locally and has no effect on topology

      Returns:
        Optional local instance name. Can be `null`, which is default local instance name, if non-default local instance name was not provided.

    - #### setGridName

          @Deprecated
          public IgniteConfiguration setGridName​(String gridName)

      Deprecated.
      Use `setIgniteInstanceName(String)` instead.
      Sets grid name. Note that `null` is a default grid name.
      Parameters:
        `gridName` - Grid name to set. Can be `null`, which is default grid name.
      Returns:
        `this` for chaining.

    - #### setIgniteInstanceName

          public IgniteConfiguration setIgniteInstanceName​(String instanceName)

      Sets of local instance name. Note that `null` is a default local instance name.
      Parameters:
        `instanceName` - Local instance name to set. Can be `null`. which is default local instance name.
      Returns:
        `this` for chaining.

    - #### setConsistentId

          public IgniteConfiguration setConsistentId​(Serializable consistentId)

      Sets consistent globally unique node ID which survives node restarts.
      Parameters:
        `consistentId` - Node consistent ID.
      Returns:
        `this` for chaining.

    - #### getConsistentId

          public Serializable getConsistentId()

      Gets consistent globally unique node ID which survives node restarts.
      Returns:
        Node consistent ID.

    - #### getUserAttributes

          public Map<String,​?> getUserAttributes()

      Should return any user-defined attributes to be added to this node. These attributes can then be accessed on nodes by calling `ClusterNode.attribute(String)` or `ClusterNode.attributes()` methods.

      Note that system adds the following (among others) attributes automatically:

      - `{@link System#getProperties()}` - All system properties.
      - `{@link System#getenv(String)}` - All environment properties.

      Note that grid will add all System properties and environment properties to grid node attributes also. SPIs may also add node attributes that are used for SPI implementation.

      NOTE: attributes names starting with `org.apache.ignite` are reserved for internal use.

      Returns:
        User defined attributes for this node.

    - #### setUserAttributes

          public IgniteConfiguration setUserAttributes​(Map<String,​?> userAttrs)

      Sets user attributes for this node.
      Parameters:
        `userAttrs` - User attributes for this node.
      Returns:
        `this` for chaining.
      See Also:
        `getUserAttributes()`

    - #### getGridLogger

          public IgniteLogger getGridLogger()

      Should return an instance of logger to use in grid. If not provided, `Log4J2Logger` will be used.
      Returns:
        Logger to use in grid.

    - #### setGridLogger

          public IgniteConfiguration setGridLogger​(IgniteLogger log)

      Sets logger to use within grid.
      Parameters:
        `log` - Logger to use within grid.
      Returns:
        `this` for chaining.
      See Also:
        `getGridLogger()`

    - #### getStripedPoolSize

          public int getStripedPoolSize()

      Returns striped pool size that should be used for cache requests processing.

      Striped pool is better for typical cache operations.

      Returns:
        The number of threads (stripes) to be used for requests processing.
      See Also:
        `getPublicThreadPoolSize()`, `getSystemThreadPoolSize()`

    - #### setStripedPoolSize

          public IgniteConfiguration setStripedPoolSize​(int stripedPoolSize)

      Sets striped pool size that should be used for cache requests processing.

      Striped pool is better for typical cache operations.

      Parameters:
        `stripedPoolSize` - The number of threads (stripes) to be used for requests processing.
      Returns:
        `this` for chaining.
      See Also:
        `getPublicThreadPoolSize()`, `getSystemThreadPoolSize()`

    - #### getPublicThreadPoolSize

          public int getPublicThreadPoolSize()

      Should return a thread pool size to be used in grid. This executor service will be in charge of processing `GridJobs` and user messages sent to node.

      If not provided, executor service will have size `DFLT_PUBLIC_THREAD_CNT`.

      Returns:
        Thread pool size to be used in grid to process job execution requests and user messages sent to the node.

    - #### getServiceThreadPoolSize

          public int getServiceThreadPoolSize()

      Should return a thread pool size to be used in grid. This executor service will be in charge of processing `Service` proxy invocations.

      If not provided, executor service will have size `DFLT_PUBLIC_THREAD_CNT`.

      Returns:
        Thread pool size to be used in grid to process service proxy invocations.

    - #### getSystemThreadPoolSize

          public int getSystemThreadPoolSize()

      Size of thread pool that is in charge of processing internal system messages.

      If not provided, executor service will have size `DFLT_SYSTEM_CORE_THREAD_CNT`.

      Returns:
        Thread pool size to be used in grid for internal system messages.

    - #### getAsyncCallbackPoolSize

          public int getAsyncCallbackPoolSize()

      Size of thread pool that is in charge of processing asynchronous callbacks.

      This pool is used for callbacks annotated with `IgniteAsyncCallback`.

      If not provided, executor service will have size `DFLT_PUBLIC_THREAD_CNT`.

      Returns:
        Thread pool size to be used.
      See Also:
        `IgniteAsyncCallback`

    - #### getManagementThreadPoolSize

          public int getManagementThreadPoolSize()

      Size of thread pool that is in charge of processing internal and Visor `GridJobs`.

      If not provided, executor service will have size `DFLT_MGMT_THREAD_CNT`

      Returns:
        Thread pool size to be used in grid for internal and Visor jobs processing.

    - #### getPeerClassLoadingThreadPoolSize

          public int getPeerClassLoadingThreadPoolSize()

      Size of thread pool which is in charge of peer class loading requests/responses. If you don't use peer class loading and use GAR deployment only we would recommend to decrease the value of total threads to `1`.

      If not provided, executor service will have size `DFLT_P2P_THREAD_CNT`.

      Returns:
        Thread pool size to be used for peer class loading requests handling.

    - #### getDataStreamerThreadPoolSize

          public int getDataStreamerThreadPoolSize()

      Size of thread pool that is in charge of processing data stream messages.

      If not provided, executor service will have size `DFLT_DATA_STREAMER_POOL_SIZE`.

      Returns:
        Thread pool size to be used for data stream messages.

    - #### getUtilityCacheThreadPoolSize

          public int getUtilityCacheThreadPoolSize()

      Default size of thread pool that is in charge of processing utility cache messages.

      If not provided, executor service will have size `DFLT_SYSTEM_CORE_THREAD_CNT`.

      Returns:
        Default thread pool size to be used in grid for utility cache messages.

    - #### getUtilityCacheKeepAliveTime

          public long getUtilityCacheKeepAliveTime()

      Keep alive time of thread pool that is in charge of processing utility cache messages.

      If not provided, executor service will have keep alive time `DFLT_THREAD_KEEP_ALIVE_TIME`.

      Returns:
        Thread pool keep alive time (in milliseconds) to be used in grid for utility cache messages.

    - #### getQueryThreadPoolSize

          public int getQueryThreadPoolSize()

      Size of thread pool that is in charge of processing query messages.

      If not provided, executor service will have size `DFLT_QUERY_THREAD_POOL_SIZE`.

      Returns:
        Thread pool size to be used in grid for query messages.

    - #### getBuildIndexThreadPoolSize

          public int getBuildIndexThreadPoolSize()

      Size of thread pool for create/rebuild index.

      If not provided, executor service will have size `DFLT_BUILD_IDX_THREAD_POOL_SIZE`.

      Returns:
        Thread pool size for create/rebuild index.

    - #### setBuildIndexThreadPoolSize

          public IgniteConfiguration setBuildIndexThreadPoolSize​(int poolSize)

      Sets index create/rebuild thread pool size to use within grid.
      Parameters:
        `poolSize` - Thread pool size to use within grid.
      Returns:
        `this` for chaining.
      See Also:
        `getBuildIndexThreadPoolSize()`

    - #### getSqlQueryHistorySize

          @Deprecated
          public int getSqlQueryHistorySize()

      Deprecated.
      Use `SqlConfiguration.setSqlQueryHistorySize(int)` instead.
      Number of SQL query history elements to keep in memory. If not provided, then default value `SqlConfiguration.DFLT_SQL_QUERY_HISTORY_SIZE` is used. If provided value is less or equals 0, then gathering SQL query history will be switched off.
      Returns:
        SQL query history size.

    - #### setSqlQueryHistorySize

          @Deprecated
          public IgniteConfiguration setSqlQueryHistorySize​(int size)

      Deprecated.
      Use `SqlConfiguration.getSqlQueryHistorySize()` instead.
      Sets number of SQL query history elements kept in memory. If not explicitly set, then default value is `SqlConfiguration.DFLT_SQL_QUERY_HISTORY_SIZE`.
      Parameters:
        `size` - Number of SQL query history elements kept in memory.
      Returns:
        `this` for chaining.

    - #### getShutdownPolicy

          public ShutdownPolicy getShutdownPolicy()

      Gets shutdown policy. If policy was not set default policy will be return `IgniteCluster.DEFAULT_SHUTDOWN_POLICY`.
      Returns:
        Shutdown policy.

    - #### setShutdownPolicy

          public IgniteConfiguration setShutdownPolicy​(ShutdownPolicy shutdownPolicy)

      Sets shutdown policy. If `null` is passed as a parameter, policy will be set as default.
      Parameters:
        `shutdownPolicy` - Shutdown policy.
      Returns:
        `this` for chaining.

    - #### getDefaultQueryTimeout

          @Deprecated
          public long getDefaultQueryTimeout()

      Deprecated.
      Use `SqlConfiguration.getDefaultQueryTimeout()` instead.
      Defines the default query timeout. Defaults to `SqlConfiguration.DFLT_QRY_TIMEOUT`. `0` means there is no timeout (this is a default value)
      Returns:
        Default query timeout.

    - #### setDefaultQueryTimeout

          @Deprecated
          public IgniteConfiguration setDefaultQueryTimeout​(long dfltQryTimeout)

      Deprecated.
      Use `SqlConfiguration.setDefaultQueryTimeout(long)` instead.
      Sets timeout in milliseconds for default query timeout. `0` means there is no timeout (this is a default value)
      Parameters:
        `dfltQryTimeout` - Timeout in milliseconds.
      Returns:
        `this` for chaining.

    - #### setPublicThreadPoolSize

          public IgniteConfiguration setPublicThreadPoolSize​(int poolSize)

      Sets thread pool size to use within grid.
      Parameters:
        `poolSize` - Thread pool size to use within grid.
      Returns:
        `this` for chaining.
      See Also:
        `getPublicThreadPoolSize()`

    - #### setServiceThreadPoolSize

          public IgniteConfiguration setServiceThreadPoolSize​(int poolSize)

      Sets thread pool size to use within grid.
      Parameters:
        `poolSize` - Thread pool size to use within grid.
      Returns:
        `this` for chaining.
      See Also:
        `getServiceThreadPoolSize()`

    - #### setSystemThreadPoolSize

          public IgniteConfiguration setSystemThreadPoolSize​(int poolSize)

      Sets system thread pool size to use within grid.
      Parameters:
        `poolSize` - Thread pool size to use within grid.
      Returns:
        `this` for chaining.
      See Also:
        `getSystemThreadPoolSize()`

    - #### setAsyncCallbackPoolSize

          public IgniteConfiguration setAsyncCallbackPoolSize​(int poolSize)

      Sets async callback thread pool size to use within grid.
      Parameters:
        `poolSize` - Thread pool size to use within grid.
      Returns:
        `this` for chaining.
      See Also:
        `getAsyncCallbackPoolSize()`, `IgniteAsyncCallback`

    - #### setManagementThreadPoolSize

          public IgniteConfiguration setManagementThreadPoolSize​(int poolSize)

      Sets management thread pool size to use within grid.
      Parameters:
        `poolSize` - Thread pool size to use within grid.
      Returns:
        `this` for chaining.
      See Also:
        `getManagementThreadPoolSize()`

    - #### setPeerClassLoadingThreadPoolSize

          public IgniteConfiguration setPeerClassLoadingThreadPoolSize​(int poolSize)

      Sets thread pool size to use for peer class loading.
      Parameters:
        `poolSize` - Thread pool size to use within grid.
      Returns:
        `this` for chaining.
      See Also:
        `getPeerClassLoadingThreadPoolSize()`

    - #### setDataStreamerThreadPoolSize

          public IgniteConfiguration setDataStreamerThreadPoolSize​(int poolSize)

      Set thread pool size that will be used to process data stream messages.
      Parameters:
        `poolSize` - Executor service to use for data stream messages.
      Returns:
        `this` for chaining.
      See Also:
        `getDataStreamerThreadPoolSize()`

    - #### setUtilityCachePoolSize

          public IgniteConfiguration setUtilityCachePoolSize​(int poolSize)

      Sets default thread pool size that will be used to process utility cache messages.
      Parameters:
        `poolSize` - Default executor service size to use for utility cache messages.
      Returns:
        `this` for chaining.
      See Also:
        `getUtilityCacheThreadPoolSize()`, `getUtilityCacheKeepAliveTime()`

    - #### setQueryThreadPoolSize

          public IgniteConfiguration setQueryThreadPoolSize​(int poolSize)

      Sets query thread pool size to use within grid.
      Parameters:
        `poolSize` - Thread pool size to use within grid.
      Returns:
        `this` for chaining.
      See Also:
        `getQueryThreadPoolSize()`

    - #### setUtilityCacheKeepAliveTime

          public IgniteConfiguration setUtilityCacheKeepAliveTime​(long keepAliveTime)

      Sets keep alive time of thread pool size that will be used to process utility cache messages.
      Parameters:
        `keepAliveTime` - Keep alive time of executor service to use for utility cache messages.
      Returns:
        `this` for chaining.
      See Also:
        `getUtilityCacheThreadPoolSize()`, `getUtilityCacheKeepAliveTime()`

    - #### getIgniteHome

          public String getIgniteHome()

      Should return Ignite installation home folder. If not provided, the system will check `IGNITE_HOME` system property and environment variable in that order. If `IGNITE_HOME` still could not be obtained, then grid will not start and exception will be thrown.
      Returns:
        Ignite installation home or `null` to make the system attempt to infer it automatically.
      See Also:
        `IgniteCommonsSystemProperties.IGNITE_HOME`

    - #### setIgniteHome

          public IgniteConfiguration setIgniteHome​(String igniteHome)

      Sets Ignite installation folder.
      Parameters:
        `igniteHome` - `Ignition` installation folder.
      Returns:
        `this` for chaining.
      See Also:
        `getIgniteHome()`, `IgniteCommonsSystemProperties.IGNITE_HOME`

    - #### getWorkDirectory

          public String getWorkDirectory()

      Gets Ignite work directory. If not provided, the method will use work directory under `IGNITE_HOME` specified by `setIgniteHome(String)` or `IGNITE_HOME` environment variable or system property.

      If `IGNITE_HOME` is not provided, then system temp directory is used.

      Returns:
        Ignite work directory or `null` to make the system attempt to infer it automatically.
      See Also:
        `getIgniteHome()`, `IgniteCommonsSystemProperties.IGNITE_HOME`

    - #### setWorkDirectory

          public IgniteConfiguration setWorkDirectory​(String igniteWorkDir)

      Sets Ignite work folder.
      Parameters:
        `igniteWorkDir` - `Ignite` work directory.
      Returns:
        `this` for chaining.
      See Also:
        `getWorkDirectory()`

    - #### getMBeanServer

          public MBeanServer getMBeanServer()

      Should return MBean server instance. If not provided, the system will use default platform MBean server.
      Returns:
        MBean server instance or `null` to make the system create a default one.
      See Also:
        `ManagementFactory.getPlatformMBeanServer()`

    - #### setMBeanServer

          public IgniteConfiguration setMBeanServer​(MBeanServer mbeanSrv)

      Sets initialized and started MBean server.
      Parameters:
        `mbeanSrv` - Initialized and started MBean server.
      Returns:
        `this` for chaining.

    - #### getNodeId

          @Deprecated
          public UUID getNodeId()

      Deprecated.
      Unique identifier for this node within grid.
      Returns:
        Unique identifier for this node within grid.

    - #### setNodeId

          @Deprecated
          public IgniteConfiguration setNodeId​(UUID nodeId)

      Deprecated.
      Use `setConsistentId(Serializable)` instead.
      Sets unique identifier for local node.
      Parameters:
        `nodeId` - Unique identifier for local node.
      Returns:
        `this` for chaining.
      See Also:
        `getNodeId()`

    - #### isPeerClassLoadingEnabled

          public boolean isPeerClassLoadingEnabled()

      Returns `true` if peer class loading is enabled, `false` otherwise. Default value is `false` specified by `DFLT_P2P_ENABLED`.

      When peer class loading is enabled and task is not deployed on local node, local node will try to load classes from the node that initiated task execution. This way, a task can be physically deployed only on one node and then internally penetrate to all other nodes.

      See `ComputeTask` documentation for more information about task deployment.

      Returns:
        `true` if peer class loading is enabled, `false` otherwise.

    - #### isMarshalLocalJobs

          public boolean isMarshalLocalJobs()

      If this flag is set to `true`, jobs mapped to local node will be marshalled as if it was remote node.

      If not provided, default value is defined by `DFLT_MARSHAL_LOCAL_JOBS`.

      Returns:
        `True` if local jobs should be marshalled.

    - #### setMarshalLocalJobs

          public IgniteConfiguration setMarshalLocalJobs​(boolean marshLocJobs)

      Sets marshal local jobs flag.
      Parameters:
        `marshLocJobs` - `True` if local jobs should be marshalled.
      Returns:
        `this` for chaining.

    - #### setPeerClassLoadingEnabled

          public IgniteConfiguration setPeerClassLoadingEnabled​(boolean p2pEnabled)

      Enables/disables peer class loading.
      Parameters:
        `p2pEnabled` - `true` if peer class loading is enabled, `false` otherwise.
      Returns:
        `this` for chaining.

    - #### getPeerClassLoadingLocalClassPathExclude

          public String[] getPeerClassLoadingLocalClassPathExclude()

      Should return list of packages from the system classpath that need to be peer-to-peer loaded from task originating node. '*' is supported at the end of the package name which means that all sub-packages and their classes are included like in Java package import clause.
      Returns:
        List of peer-to-peer loaded package names.

    - #### setPeerClassLoadingLocalClassPathExclude

          public IgniteConfiguration setPeerClassLoadingLocalClassPathExclude​(String... p2pLocClsPathExcl)

      Sets list of packages in a system class path that should be P2P loaded even if they exist locally.
      Parameters:
        `p2pLocClsPathExcl` - List of P2P loaded packages. Package name supports '*' at the end like in package import clause.
      Returns:
        `this` for chaining.

    - #### getMetricsHistorySize

          public int getMetricsHistorySize()

      Number of node metrics to keep in memory to calculate totals and averages. If not provided (value is `0`), then default value `DFLT_METRICS_HISTORY_SIZE` is used.
      Returns:
        Metrics history size.
      See Also:
        `DFLT_METRICS_HISTORY_SIZE`

    - #### setMetricsHistorySize

          public IgniteConfiguration setMetricsHistorySize​(int metricsHistSize)

      Sets number of metrics kept in history to compute totals and averages. If not explicitly set, then default value is `10,000`.
      Parameters:
        `metricsHistSize` - Number of metrics kept in history to use for metric totals and averages calculations.
      Returns:
        `this` for chaining.
      See Also:
        `DFLT_METRICS_HISTORY_SIZE`

    - #### getMetricsUpdateFrequency

          public long getMetricsUpdateFrequency()

      Gets Ignite metrics update frequency in milliseconds.

      Updating metrics too frequently may have negative performance impact.

      If not provided, then default value `DFLT_METRICS_UPDATE_FREQ` is used.

      Returns:
        Metrics update frequency in milliseconds.
      See Also:
        `DFLT_METRICS_UPDATE_FREQ`

    - #### setMetricsUpdateFrequency

          public IgniteConfiguration setMetricsUpdateFrequency​(long metricsUpdateFreq)

      Sets Ignite metrics update frequency in milliseconds.

      Positive value defines the actual update frequency. If not provided, then default value `DFLT_METRICS_UPDATE_FREQ` is used.

      Parameters:
        `metricsUpdateFreq` - Metrics update frequency in milliseconds.
      Returns:
        `this` for chaining.

    - #### getMetricsExpireTime

          public long getMetricsExpireTime()

      Elapsed time in milliseconds after which node metrics are considered expired. If not provided, then default value `DFLT_METRICS_EXPIRE_TIME` is used.
      Returns:
        Metrics expire time.
      See Also:
        `DFLT_METRICS_EXPIRE_TIME`

    - #### setMetricsExpireTime

          public IgniteConfiguration setMetricsExpireTime​(long metricsExpTime)

      Sets time in milliseconds after which a certain metric value is considered expired. If not set explicitly, then default value is `600,000` milliseconds (10 minutes).
      Parameters:
        `metricsExpTime` - The metricsExpTime to set.
      Returns:
        `this` for chaining.
      See Also:
        `DFLT_METRICS_EXPIRE_TIME`

    - #### getNetworkTimeout

          public long getNetworkTimeout()

      Maximum timeout in milliseconds for network requests.

      If not provided, then default value `DFLT_NETWORK_TIMEOUT` is used.

      Returns:
        Maximum timeout for network requests.
      See Also:
        `DFLT_NETWORK_TIMEOUT`

    - #### setNetworkTimeout

          public IgniteConfiguration setNetworkTimeout​(long netTimeout)

      Maximum timeout in milliseconds for network requests.

      If not provided (value is `0`), then default value `DFLT_NETWORK_TIMEOUT` is used.

      Parameters:
        `netTimeout` - Maximum timeout for network requests.
      Returns:
        `this` for chaining.
      See Also:
        `DFLT_NETWORK_TIMEOUT`

    - #### getNetworkCompressionLevel

          public int getNetworkCompressionLevel()

      Compression level of internal network messages.

      If not provided, then default value Deflater.BEST_SPEED is used.

      Returns:
        Network messages default compression level.

    - #### setNetworkCompressionLevel

          public void setNetworkCompressionLevel​(int netCompressionLevel)

      Sets compression level for internal network messages.
      Parameters:
        `netCompressionLevel` - Compression level for internal network messages.

        If not provided, then default value `Deflater.BEST_SPEED` is used.

    - #### getNetworkSendRetryDelay

          public long getNetworkSendRetryDelay()

      Interval in milliseconds between message send retries.

      If not provided, then default value `DFLT_SEND_RETRY_DELAY` is used.

      Returns:
        Interval between message send retries.
      See Also:
        `getNetworkSendRetryCount()`, `DFLT_SEND_RETRY_DELAY`

    - #### setNetworkSendRetryDelay

          public IgniteConfiguration setNetworkSendRetryDelay​(long sndRetryDelay)

      Sets interval in milliseconds between message send retries.

      If not provided, then default value `DFLT_SEND_RETRY_DELAY` is used.

      Parameters:
        `sndRetryDelay` - Interval between message send retries.
      Returns:
        `this` for chaining.

    - #### getNetworkSendRetryCount

          public int getNetworkSendRetryCount()

      Message send retries count.

      If not provided, then default value `DFLT_SEND_RETRY_CNT` is used.

      Returns:
        Message send retries count.
      See Also:
        `getNetworkSendRetryDelay()`, `DFLT_SEND_RETRY_CNT`

    - #### setNetworkSendRetryCount

          public IgniteConfiguration setNetworkSendRetryCount​(int sndRetryCnt)

      Sets message send retries count.

      If not provided, then default value `DFLT_SEND_RETRY_CNT` is used.

      Parameters:
        `sndRetryCnt` - Message send retries count.
      Returns:
        `this` for chaining.

    - #### getSnapshotThreadPoolSize

          public int getSnapshotThreadPoolSize()

      Returns:
        Total number of threads to perform snapshot operation. By default, the `DFLT_SNAPSHOT_THREAD_POOL_SIZE` is used.

    - #### setSnapshotThreadPoolSize

          public IgniteConfiguration setSnapshotThreadPoolSize​(int snapshotThreadPoolSize)

      Parameters:
        `snapshotThreadPoolSize` - Total number of threads to perform snapshot operation. By default, the `DFLT_SNAPSHOT_THREAD_POOL_SIZE` is used.
      Returns:
        `this` for chaining.

    - #### getRebalanceThreadPoolSize

          public int getRebalanceThreadPoolSize()

      Gets Max count of threads can be used at rebalancing. Minimum is 1.
      Returns:
        count.

    - #### setRebalanceThreadPoolSize

          public IgniteConfiguration setRebalanceThreadPoolSize​(int rebalanceThreadPoolSize)

      Sets Max count of threads can be used at rebalancing. Default is `1` which has minimal impact on the operation of the grid.
      Parameters:
        `rebalanceThreadPoolSize` - Number of system threads that will be assigned for partition transfer during rebalancing.
      Returns:
        `this` for chaining.

    - #### getRebalanceTimeout

          public long getRebalanceTimeout()

      Rebalance timeout for supply and demand messages in milliseconds. The `rebalanceTimeout` parameter specifies how long a message will stay in a receiving queue, waiting for other ordered messages that are ordered ahead of it to arrive will be processed. If timeout expires, then all messages that have not arrived before this message will be skipped. If an expired supply (demand) message actually does arrive, it will be ignored.

      Default value is defined by `DFLT_REBALANCE_TIMEOUT`, if `0` than the `getNetworkTimeout()` will be used instead.

      Returns:
        Rebalance message timeout in milliseconds.

    - #### setRebalanceTimeout

          public IgniteConfiguration setRebalanceTimeout​(long rebalanceTimeout)

      Rebalance timeout for supply and demand messages in milliseconds. The `rebalanceTimeout` parameter specifies how long a message will stay in a receiving queue, waiting for other ordered messages that are ordered ahead of it to arrive will be processed. If timeout expires, then all messages that have not arrived before this message will be skipped. If an expired supply (demand) message actually does arrive, it will be ignored.

      Default value is defined by `DFLT_REBALANCE_TIMEOUT`, if `0` than the `getNetworkTimeout()` will be used instead.

      Parameters:
        `rebalanceTimeout` - Rebalance message timeout in milliseconds.
      Returns:
        `this` for chaining.

    - #### getRebalanceBatchesPrefetchCount

          public long getRebalanceBatchesPrefetchCount()

      The number of batches generated by supply node at rebalancing procedure start. To gain better rebalancing performance supplier node can provide more than one batch at rebalancing start and provide one new to each next demand request.

      Default value is defined by `DFLT_REBALANCE_BATCHES_PREFETCH_COUNT`, minimum value is `1`.

      Returns:
        The number of batches prefetch count.

    - #### setRebalanceBatchesPrefetchCount

          public IgniteConfiguration setRebalanceBatchesPrefetchCount​(long rebalanceBatchesCnt)

      The number of batches generated by supply node at rebalancing procedure start. To gain better rebalancing performance supplier node can provide more than one batch at rebalancing start and provide one new to each next demand request.

      Default value is defined by `DFLT_REBALANCE_BATCHES_PREFETCH_COUNT`, minimum value is `1`.

      Parameters:
        `rebalanceBatchesCnt` - The number of batches prefetch count.
      Returns:
        `this` for chaining.

    - #### getRebalanceThrottle

          public long getRebalanceThrottle()

      Time in milliseconds to wait between rebalance messages to avoid overloading of CPU or network. When rebalancing large data sets, the CPU or network can get over-consumed with rebalancing messages, which consecutively may slow down the application performance. This parameter helps tune the amount of time to wait between rebalance messages to make sure that rebalancing process does not have any negative performance impact. Note that application will continue to work properly while rebalancing is still in progress.

      Value of `0` means that throttling is disabled. By default throttling is disabled - the default is defined by `DFLT_REBALANCE_THROTTLE` constant.

      Returns:
        Time in milliseconds to wait between rebalance messages, `0` to disable throttling.

    - #### setRebalanceThrottle

          public IgniteConfiguration setRebalanceThrottle​(long rebalanceThrottle)

      Time in milliseconds to wait between rebalance messages to avoid overloading of CPU or network. When rebalancing large data sets, the CPU or network can get over-consumed with rebalancing messages, which consecutively may slow down the application performance. This parameter helps tune the amount of time to wait between rebalance messages to make sure that rebalancing process does not have any negative performance impact. Note that application will continue to work properly while rebalancing is still in progress.

      Value of `0` means that throttling is disabled. By default throttling is disabled - the default is defined by `DFLT_REBALANCE_THROTTLE` constant.

      Parameters:
        `rebalanceThrottle` - Time in milliseconds to wait between rebalance messages, `0` to disable throttling.
      Returns:
        `this` for chaining.

    - #### getRebalanceBatchSize

          public int getRebalanceBatchSize()

      The supply message size in bytes to be loaded within a single rebalance batch. The data balancing algorithm splits all the cache data entries on supply node into multiple batches prior to sending them to the demand node.

      Default value is defined by `DFLT_REBALANCE_BATCH_SIZE`.

      Returns:
        Rebalance message size in bytes.

    - #### setRebalanceBatchSize

          public IgniteConfiguration setRebalanceBatchSize​(int rebalanceBatchSize)

      The supply message size in bytes to be loaded within a single rebalance batch. The data balancing algorithm splits all the cache data entries on supply node into multiple batches prior to sending them to the demand node.

      Default value is defined by `DFLT_REBALANCE_BATCH_SIZE`.

      Parameters:
        `rebalanceBatchSize` - Rebalance message size in bytes.
      Returns:
        `this` for chaining.

    - #### getLifecycleBeans

          public LifecycleBean[] getLifecycleBeans()

      Returns a collection of life-cycle beans. These beans will be automatically notified of grid life-cycle events. Use life-cycle beans whenever you want to perform certain logic before and after grid startup and stopping routines.
      Returns:
        Collection of life-cycle beans.
      See Also:
        `LifecycleBean`, `LifecycleEventType`

    - #### setLifecycleBeans

          public IgniteConfiguration setLifecycleBeans​(LifecycleBean... lifecycleBeans)

      Sets a collection of lifecycle beans. These beans will be automatically notified of grid lifecycle events. Use lifecycle beans whenever you want to perform certain logic before and after grid startup and stopping routines.
      Parameters:
        `lifecycleBeans` - Collection of lifecycle beans.
      Returns:
        `this` for chaining.
      See Also:
        `LifecycleEventType`

    - #### setSslContextFactory

          public IgniteConfiguration setSslContextFactory​(javax.cache.configuration.Factory<SSLContext> sslCtxFactory)

      Sets SSL context factory that will be used for creating a secure socket layer.
      Parameters:
        `sslCtxFactory` - Ssl context factory.
      Returns:
        `this` for chaining.
      See Also:
        `SslContextFactory`

    - #### getSslContextFactory

          public javax.cache.configuration.Factory<SSLContext> getSslContextFactory()

      Returns SSL context factory that will be used for creating a secure socket layer.
      Returns:
        SSL connection factory.
      See Also:
        `SslContextFactory`

    - #### getEventStorageSpi

          public EventStorageSpi getEventStorageSpi()

      Should return fully configured event SPI implementation. If not provided, `NoopEventStorageSpi` will be used.
      Returns:
        Grid event SPI implementation or `null` to use default implementation.

    - #### setEventStorageSpi

          public IgniteConfiguration setEventStorageSpi​(EventStorageSpi evtSpi)

      Sets fully configured instance of `EventStorageSpi`.
      Parameters:
        `evtSpi` - Fully configured instance of `EventStorageSpi`.
      Returns:
        `this` for chaining.
      See Also:
        `getEventStorageSpi()`

    - #### getDiscoverySpi

          public DiscoverySpi getDiscoverySpi()

      Should return fully configured discovery SPI implementation. If not provided, `TcpDiscoverySpi` will be used by default.
      Returns:
        Grid discovery SPI implementation or `null` to use default implementation.

    - #### setDiscoverySpi

          public IgniteConfiguration setDiscoverySpi​(DiscoverySpi discoSpi)

      Sets fully configured instance of `DiscoverySpi`.
      Parameters:
        `discoSpi` - Fully configured instance of `DiscoverySpi`.
      Returns:
        `this` for chaining.
      See Also:
        `getDiscoverySpi()`

    - #### getSegmentationPolicy

          public SegmentationPolicy getSegmentationPolicy()

      Returns segmentation policy. Default is `DFLT_SEG_PLC`.
      Returns:
        Segmentation policy.

    - #### setSegmentationPolicy

          public IgniteConfiguration setSegmentationPolicy​(SegmentationPolicy segPlc)

      Sets segmentation policy.
      Parameters:
        `segPlc` - Segmentation policy.
      Returns:
        `this` for chaining.

    - #### isWaitForSegmentOnStart

          public boolean isWaitForSegmentOnStart()

      Gets wait for segment on startup flag. Default is `DFLT_WAIT_FOR_SEG_ON_START`.

      Returns `true` if node should wait for correct segment on start. If node detects that segment is incorrect on startup and this method returns `true`, node waits until segment becomes correct. If segment is incorrect on startup and this method returns `false`, exception is thrown.

      Returns:
        `True` to wait for segment on startup, `false` otherwise.

    - #### setWaitForSegmentOnStart

          public IgniteConfiguration setWaitForSegmentOnStart​(boolean waitForSegOnStart)

      Sets wait for segment on start flag.
      Parameters:
        `waitForSegOnStart` - `True` to wait for segment on start.
      Returns:
        `this` for chaining.

    - #### isAllSegmentationResolversPassRequired

          public boolean isAllSegmentationResolversPassRequired()

      Gets all segmentation resolvers pass required flag.

      Returns `true` if all segmentation resolvers should succeed for node to be in correct segment. Returns `false` if at least one segmentation resolver should succeed for node to be in correct segment.

      Default is `DFLT_ALL_SEG_RESOLVERS_PASS_REQ`.

      Returns:
        `True` if all segmentation resolvers should succeed, `false` if only one is enough.

    - #### setAllSegmentationResolversPassRequired

          public IgniteConfiguration setAllSegmentationResolversPassRequired​(boolean allResolversPassReq)

      Sets all segmentation resolvers pass required flag.
      Parameters:
        `allResolversPassReq` - `True` if all segmentation resolvers should succeed for node to be in the correct segment.
      Returns:
        `this` for chaining.

    - #### getSegmentationResolveAttempts

          public int getSegmentationResolveAttempts()

      Gets segmentation resolve attempts. Each configured resolver will have this attempts number to pass segmentation check prior to check failure. Default is `DFLT_SEG_RESOLVE_ATTEMPTS`.
      Returns:
        Segmentation resolve attempts.

    - #### setSegmentationResolveAttempts

          public IgniteConfiguration setSegmentationResolveAttempts​(int segResolveAttempts)

      Sets segmentation resolve attempts count.
      Parameters:
        `segResolveAttempts` - Segmentation resolve attempts.
      Returns:
        `this` for chaining.

    - #### getSegmentationResolvers

          public SegmentationResolver[] getSegmentationResolvers()

      Returns a collection of segmentation resolvers.

      If array is `null` or empty, periodical and on-start network segment checks do not happen.

      Returns:
        Segmentation resolvers.

    - #### setSegmentationResolvers

          public IgniteConfiguration setSegmentationResolvers​(SegmentationResolver... segResolvers)

      Sets segmentation resolvers.
      Parameters:
        `segResolvers` - Segmentation resolvers.
      Returns:
        `this` for chaining.

    - #### getSegmentCheckFrequency

          public long getSegmentCheckFrequency()

      Returns frequency of network segment check by discovery manager.

      if 0, periodic segment check is disabled and segment is checked only on topology changes (if segmentation resolvers are configured).

      Default is `DFLT_SEG_CHK_FREQ`.

      Returns:
        Segment check frequency.

    - #### setSegmentCheckFrequency

          public IgniteConfiguration setSegmentCheckFrequency​(long segChkFreq)

      Sets network segment check frequency.
      Parameters:
        `segChkFreq` - Segment check frequency.
      Returns:
        `this` for chaining.

    - #### getCommunicationSpi

          public CommunicationSpi getCommunicationSpi()

      Should return fully configured SPI communication implementation. If not provided, `TcpCommunicationSpi` will be used by default.
      Returns:
        Grid communication SPI implementation or `null` to use default implementation.

    - #### setCommunicationSpi

          public IgniteConfiguration setCommunicationSpi​(CommunicationSpi commSpi)

      Sets fully configured instance of `CommunicationSpi`.
      Parameters:
        `commSpi` - Fully configured instance of `CommunicationSpi`.
      Returns:
        `this` for chaining.
      See Also:
        `getCommunicationSpi()`

    - #### getCollisionSpi

          public CollisionSpi getCollisionSpi()

      Should return fully configured collision SPI implementation. If not provided, `NoopCollisionSpi` is used and jobs get activated immediately on arrive to mapped node. This approach suits well for large amount of small jobs (which is a wide-spread use case). User still can control the number of concurrent jobs by setting maximum thread pool size defined by `getPublicThreadPoolSize()` configuration property.
      Returns:
        Grid collision SPI implementation or `null` to use default implementation.

    - #### setCollisionSpi

          public IgniteConfiguration setCollisionSpi​(CollisionSpi colSpi)

      Sets fully configured instance of `CollisionSpi`.
      Parameters:
        `colSpi` - Fully configured instance of `CollisionSpi` or `null` if no SPI provided.
      Returns:
        `this` for chaining.
      See Also:
        `getCollisionSpi()`

    - #### getDeploymentSpi

          @Deprecated
          public DeploymentSpi getDeploymentSpi()

      Deprecated.
      Will be replaced with the IgniteClassPath in the next versions.
      Should return fully configured deployment SPI implementation. If not provided, `LocalDeploymentSpi` will be used.
      Returns:
        Grid deployment SPI implementation or `null` to use default implementation.

    - #### setDeploymentSpi

          @Deprecated
          public IgniteConfiguration setDeploymentSpi​(DeploymentSpi deploySpi)

      Deprecated.
      Will be replaced with the IgniteClassPath in the next versions.
      Sets fully configured instance of `DeploymentSpi`.
      Parameters:
        `deploySpi` - Fully configured instance of `DeploymentSpi`.
      Returns:
        `this` for chaining.
      See Also:
        `getDeploymentSpi()`

    - #### getCheckpointSpi

          public CheckpointSpi[] getCheckpointSpi()

      Should return fully configured checkpoint SPI implementation. If not provided, `NoopCheckpointSpi` will be used.
      Returns:
        Grid checkpoint SPI implementation or `null` to use default implementation.

    - #### setCheckpointSpi

          public IgniteConfiguration setCheckpointSpi​(CheckpointSpi... cpSpi)

      Sets fully configured instance of `CheckpointSpi`.
      Parameters:
        `cpSpi` - Fully configured instance of `CheckpointSpi`.
      Returns:
        `this` for chaining.
      See Also:
        `getCheckpointSpi()`

    - #### getFailoverSpi

          public FailoverSpi[] getFailoverSpi()

      Should return fully configured failover SPI implementation. If not provided, `AlwaysFailoverSpi` will be used.
      Returns:
        Grid failover SPI implementation or `null` to use default implementation.

    - #### setFailoverSpi

          public IgniteConfiguration setFailoverSpi​(FailoverSpi... failSpi)

      Sets fully configured instance of `FailoverSpi`.
      Parameters:
        `failSpi` - Fully configured instance of `FailoverSpi` or `null` if no SPI provided.
      Returns:
        `this` for chaining.
      See Also:
        `getFailoverSpi()`

    - #### getClientFailureDetectionTimeout

          public Long getClientFailureDetectionTimeout()

      Returns failure detection timeout for client nodes used by `TcpDiscoverySpi` and `TcpCommunicationSpi`.

      Default is `DFLT_CLIENT_FAILURE_DETECTION_TIMEOUT`.

      Returns:
        Failure detection timeout for client nodes in milliseconds.
      See Also:
        `setClientFailureDetectionTimeout(long)`

    - #### setClientFailureDetectionTimeout

          public IgniteConfiguration setClientFailureDetectionTimeout​(long clientFailureDetectionTimeout)

      Sets failure detection timeout to use in `TcpDiscoverySpi` and `TcpCommunicationSpi`.

      Failure detection timeout is used to determine how long the communication or discovery SPIs should wait before considering a remote connection failed.

      Parameters:
        `clientFailureDetectionTimeout` - Failure detection timeout in milliseconds.
      Returns:
        `this` for chaining.

    - #### getFailureDetectionTimeout

          public Long getFailureDetectionTimeout()

      Returns failure detection timeout used by `TcpDiscoverySpi` and `TcpCommunicationSpi`.

      Default is `DFLT_FAILURE_DETECTION_TIMEOUT`.

      Returns:
        Failure detection timeout in milliseconds.
      See Also:
        `setFailureDetectionTimeout(long)`

    - #### setFailureDetectionTimeout

          public IgniteConfiguration setFailureDetectionTimeout​(long failureDetectionTimeout)

      Sets failure detection timeout to use in `TcpDiscoverySpi` and `TcpCommunicationSpi`.

      Failure detection timeout is used to determine how long the communication or discovery SPIs should wait before considering a remote connection failed.

      Parameters:
        `failureDetectionTimeout` - Failure detection timeout in milliseconds.
      Returns:
        `this` for chaining.

    - #### getSystemWorkerBlockedTimeout

          public Long getSystemWorkerBlockedTimeout()

      Returns maximum inactivity period for system worker. When this value is exceeded, worker is considered blocked with consequent critical failure handler invocation.
      Returns:
        Maximum inactivity period for system worker in milliseconds.
      See Also:
        `setSystemWorkerBlockedTimeout(long)`

    - #### setSystemWorkerBlockedTimeout

          public IgniteConfiguration setSystemWorkerBlockedTimeout​(long sysWorkerBlockedTimeout)

      Sets maximum inactivity period for system worker. When this value is exceeded, worker is considered blocked with consequent critical failure handler invocation.
      Parameters:
        `sysWorkerBlockedTimeout` - Maximum inactivity period for system worker in milliseconds.
      Returns:
        `this` for chaining.
      See Also:
        `setFailureHandler(FailureHandler)`

    - #### getLoadBalancingSpi

          public LoadBalancingSpi[] getLoadBalancingSpi()

      Should return fully configured load balancing SPI implementation. If not provided, `RoundRobinLoadBalancingSpi` will be used.
      Returns:
        Grid load balancing SPI implementation or `null` to use default implementation.

    - #### getDiscoveryStartupDelay

          @Deprecated
          public long getDiscoveryStartupDelay()

      Deprecated.
      Not used any more.
      This value is used to expire messages from waiting list whenever node discovery discrepancies happen.

      During startup, it is possible for some SPIs to have a small time window when `Node A` has discovered `Node B`, but `Node B` has not discovered `Node A` yet. Such time window is usually very small, a matter of milliseconds, but certain JMS providers, for example, may be very slow and hence have larger discovery delay window.

      The default value of this property is `60,000` specified by `DFLT_DISCOVERY_STARTUP_DELAY`. This should be good enough for vast majority of configurations. However, if you do anticipate an even larger delay, you should increase this value.

      Returns:
        Time in milliseconds for when nodes can be out-of-sync.

    - #### setDiscoveryStartupDelay

          @Deprecated
          public IgniteConfiguration setDiscoveryStartupDelay​(long discoStartupDelay)

      Deprecated.
      Not used any more.
      Sets time in milliseconds after which a certain metric value is considered expired. If not set explicitly, then default value is `600,000` milliseconds (10 minutes).
      Parameters:
        `discoStartupDelay` - Time in milliseconds for when nodes can be out-of-sync during startup.
      Returns:
        `this` for chaining.

    - #### setLoadBalancingSpi

          public IgniteConfiguration setLoadBalancingSpi​(LoadBalancingSpi... loadBalancingSpi)

      Sets fully configured instance of `LoadBalancingSpi`.
      Parameters:
        `loadBalancingSpi` - Fully configured instance of `LoadBalancingSpi` or `null` if no SPI provided.
      Returns:
        `this` for chaining.
      See Also:
        `getLoadBalancingSpi()`

    - #### setIndexingSpi

          public IgniteConfiguration setIndexingSpi​(IndexingSpi indexingSpi)

      Sets fully configured instances of `IndexingSpi`.
      Parameters:
        `indexingSpi` - Fully configured instance of `IndexingSpi`.
      Returns:
        `this` for chaining.
      See Also:
        `getIndexingSpi()`

    - #### getIndexingSpi

          public IndexingSpi getIndexingSpi()

      Should return fully configured indexing SPI implementations.
      Returns:
        Indexing SPI implementation.

    - #### setEncryptionSpi

          public IgniteConfiguration setEncryptionSpi​(EncryptionSpi encryptionSpi)

      Sets fully configured instances of `EncryptionSpi`.
      Parameters:
        `encryptionSpi` - Fully configured instance of `EncryptionSpi`.
      Returns:
        `this` for chaining.
      See Also:
        `getEncryptionSpi()`

    - #### getEncryptionSpi

          public EncryptionSpi getEncryptionSpi()

      Gets fully configured encryption SPI implementations.
      Returns:
        Encryption SPI implementation.

    - #### setMetricExporterSpi

          public IgniteConfiguration setMetricExporterSpi​(MetricExporterSpi... metricExporterSpi)

      Sets fully configured instances of `MetricExporterSpi`. `JmxMetricExporterSpi` is used by default.
      Parameters:
        `metricExporterSpi` - Fully configured instances of `MetricExporterSpi`.
      Returns:
        `this` for chaining.
      See Also:
        `getMetricExporterSpi()`, `JmxMetricExporterSpi`

    - #### setSystemViewExporterSpi

          public IgniteConfiguration setSystemViewExporterSpi​(SystemViewExporterSpi... sysViewExporterSpi)

      Sets fully configured instances of `SystemViewExporterSpi`.
      Parameters:
        `sysViewExporterSpi` - Fully configured instances of `SystemViewExporterSpi`.
      Returns:
        `this` for chaining.
      See Also:
        `getSystemViewExporterSpi()`

    - #### getMetricExporterSpi

          public MetricExporterSpi[] getMetricExporterSpi()

      Gets fully configured metric SPI implementations. `JmxMetricExporterSpi` is used by default.
      Returns:
        Metric exporter SPI implementations.
      See Also:
        `JmxMetricExporterSpi`

    - #### getSystemViewExporterSpi

          public SystemViewExporterSpi[] getSystemViewExporterSpi()

      Gets fully configured system view SPI implementations.
      Returns:
        System view exporter SPI implementations.

    - #### setTracingSpi

          public IgniteConfiguration setTracingSpi​(TracingSpi tracingSpi)

      Set fully configured instance of `TracingSpi`.
      Parameters:
        `tracingSpi` - Fully configured instance of `TracingSpi`.
      Returns:
        `this` for chaining.

    - #### getTracingSpi

          public TracingSpi getTracingSpi()

      Gets fully configured tracing SPI implementation.
      Returns:
        Tracing SPI implementation.

    - #### getAddressResolver

          public AddressResolver getAddressResolver()

      Gets address resolver for addresses mapping determination.
      Returns:
        Address resolver.

    - #### setAddressResolver

          public IgniteConfiguration setAddressResolver​(AddressResolver addrRslvr)

      Sets address resolver for addresses mapping determination.
      Parameters:
        `addrRslvr` - Address resolver.
      Returns:
        `this` for chaining.

    - #### setDeploymentMode

          @Deprecated
          public IgniteConfiguration setDeploymentMode​(DeploymentMode deployMode)

      Deprecated.
      Will be replaced with the IgniteClassPath in the next versions.
      Sets task classes and resources sharing mode.
      Parameters:
        `deployMode` - Task classes and resources sharing mode.
      Returns:
        `this` for chaining.

    - #### getDeploymentMode

          @Deprecated
          public DeploymentMode getDeploymentMode()

      Deprecated.
      Will be replaced with the IgniteClassPath in the next versions.
      Gets deployment mode for deploying tasks and other classes on this node. Refer to `DeploymentMode` documentation for more information.
      Returns:
        Deployment mode.

    - #### setPeerClassLoadingMissedResourcesCacheSize

          public IgniteConfiguration setPeerClassLoadingMissedResourcesCacheSize​(int p2pMissedCacheSize)

      Sets size of missed resources cache. Set 0 to avoid missed resources caching.
      Parameters:
        `p2pMissedCacheSize` - Size of missed resources cache.
      Returns:
        `this` for chaining.

    - #### getPeerClassLoadingMissedResourcesCacheSize

          public int getPeerClassLoadingMissedResourcesCacheSize()

      Returns missed resources cache size. If size greater than `0`, missed resources will be cached and next resource request ignored. If size is `0`, then request for the resource will be sent to the remote node every time this resource is requested.
      Returns:
        Missed resources cache size.

    - #### getCacheConfiguration

          public CacheConfiguration[] getCacheConfiguration()

      Gets configuration (descriptors) for all caches.
      Returns:
        Array of fully initialized cache descriptors.

    - #### setCacheConfiguration

          public IgniteConfiguration setCacheConfiguration​(CacheConfiguration... cacheCfg)

      Sets cache configurations.
      Parameters:
        `cacheCfg` - Cache configurations.
      Returns:
        `this` for chaining.

    - #### isClientMode

          public Boolean isClientMode()

      Gets client mode flag. Client node cannot hold data in the caches. It's recommended to use `DiscoverySpi` in client mode if this property is `true`.
      Returns:
        Client mode flag.

    - #### setClientMode

          public IgniteConfiguration setClientMode​(boolean clientMode)

      Sets client mode flag.
      Parameters:
        `clientMode` - Client mode flag.
      Returns:
        `this` for chaining.

    - #### getCacheKeyConfiguration

          public CacheKeyConfiguration[] getCacheKeyConfiguration()

      Gets cache key configuration.
      Returns:
        Cache key configuration.

    - #### setCacheKeyConfiguration

          public IgniteConfiguration setCacheKeyConfiguration​(CacheKeyConfiguration... cacheKeyCfg)

      Sets cache key configuration. Cache key configuration defines
      Parameters:
        `cacheKeyCfg` - Cache key configuration.
      Returns:
        `this` for chaining.

    - #### getBinaryConfiguration

          public BinaryConfiguration getBinaryConfiguration()

      Gets configuration for Ignite Binary objects.
      Returns:
        Binary configuration object.

    - #### setBinaryConfiguration

          public IgniteConfiguration setBinaryConfiguration​(BinaryConfiguration binaryCfg)

      Sets configuration for Ignite Binary objects.
      Parameters:
        `binaryCfg` - Binary configuration object.
      Returns:
        `this` for chaining.

    - #### getDataStorageConfiguration

          public DataStorageConfiguration getDataStorageConfiguration()

      Gets page memory configuration.
      Returns:
        Memory configuration.

    - #### setDataStorageConfiguration

          public IgniteConfiguration setDataStorageConfiguration​(DataStorageConfiguration dsCfg)

      Sets durable memory configuration.
      Parameters:
        `dsCfg` - Data storage configuration.
      Returns:
        `this` for chaining.

    - #### getMemoryConfiguration

          @Deprecated
          public MemoryConfiguration getMemoryConfiguration()

      Deprecated.
      Use `DataStorageConfiguration` instead.
      Gets page memory configuration.
      Returns:
        Memory configuration.

    - #### setMemoryConfiguration

          @Deprecated
          public IgniteConfiguration setMemoryConfiguration​(MemoryConfiguration memCfg)

      Deprecated.
      Use `DataStorageConfiguration` instead.
      Sets page memory configuration.
      Parameters:
        `memCfg` - Memory configuration.
      Returns:
        `this` for chaining.

    - #### getPersistentStoreConfiguration

          @Deprecated
          public PersistentStoreConfiguration getPersistentStoreConfiguration()

      Deprecated.
      Part of old API. Use `DataStorageConfiguration` for configuring persistence instead.
      Gets persistence configuration used by Apache Ignite Persistent Store.
      Returns:
        Persistence configuration.

    - #### isPersistentStoreEnabled

          @Deprecated
          public boolean isPersistentStoreEnabled()

      Deprecated.
      Part of legacy configuration API. Doesn't work if new configuration API is used.
      Returns:
        Flag `true` if persistence is enabled, `false` if disabled.

    - #### setPersistentStoreConfiguration

          @Deprecated
          public IgniteConfiguration setPersistentStoreConfiguration​(PersistentStoreConfiguration pstCfg)

      Deprecated.
      Part of old API. Use `DataStorageConfiguration` for configuring persistence instead.
      Sets persistence configuration activating Apache Ignite Persistent Store.
      Parameters:
        `pstCfg` - Persistence configuration.
      Returns:
        `this` for chaining.

    - #### isActiveOnStart

          @Deprecated
          public boolean isActiveOnStart()

      Deprecated.
      Use `getClusterStateOnStart()` instead.
      Gets flag indicating whether the cluster will be active on start. If cluster is not active on start, there will be no cache partition map exchanges performed until the cluster is activated. This should significantly speed up large topology startup time.

      Default value is `DFLT_ACTIVE_ON_START`.

      This flag is ignored when Ignite Persistence is enabled see `DataStorageConfiguration`. Cluster is always inactive on start when Ignite Persistence is enabled.

      Returns:
        Active on start flag value.

    - #### setActiveOnStart

          @Deprecated
          public IgniteConfiguration setActiveOnStart​(boolean activeOnStart)

      Deprecated.
      Use `setClusterStateOnStart(ClusterState)` instead.
      Sets flag indicating whether the cluster will be active on start. This value should be the same on all nodes in the cluster.

      This flag is ignored when `DataStorageConfiguration` has at least one configured persistent region: cluster is always inactive on start when Ignite Persistence is enabled.

      Parameters:
        `activeOnStart` - Active on start flag value.
      Returns:
        `this` instance.
      See Also:
        `isActiveOnStart()`

    - #### isAutoActivationEnabled

          @Deprecated
          public boolean isAutoActivationEnabled()

      Deprecated.
      Use `getClusterStateOnStart()` instead.
      Get the flag indicating that cluster is enabled to activate automatically. If it is set to `true` and BaselineTopology is set as well than cluster activates automatically when all nodes from the BaselineTopology join the cluster.

      Default value is `DFLT_AUTO_ACTIVATION`.

      Returns:
        Auto activation enabled flag value.

    - #### setAutoActivationEnabled

          @Deprecated
          public IgniteConfiguration setAutoActivationEnabled​(boolean autoActivation)

      Deprecated.
      Use `setClusterStateOnStart(ClusterState)` instead.
      Sets flag indicating whether the cluster is enabled to activate automatically. This value should be the same on all nodes in the cluster.
      Parameters:
        `autoActivation` - Auto activation enabled flag value.
      Returns:
        `this` instance.
      See Also:
        `isAutoActivationEnabled()`

    - #### getClusterStateOnStart

          @Nullable
          public @Nullable ClusterState getClusterStateOnStart()

      Gets state of cluster on start.
      For in-memory cluster this state will be applied to the first started node. If cluster state on start is `ClusterState.INACTIVE`, further hode joins will be handled by cluster faster and manual cluster activation should be performed in order to start working the cluster and caches.
      For persistent cluster If state is different from `ClusterState.INACTIVE` and BaselineTopology is set (cluster was activated before, for example before cluster restart) as well then cluster moves to given cluster state when all nodes from the BaselineTopology join the cluster, i.e. manual activation isn't required in that case.

      Default value is `DFLT_STATE_ON_START`.

      Returns:
        State of cluster on start or `null`, if property wasn't set. `Null` means that default value will be used.

    - #### setClusterStateOnStart

          public IgniteConfiguration setClusterStateOnStart​(ClusterState state)

      Sets state of cluster on start.
      Parameters:
        `state` - New cluster state on start.
      Returns:
        `this` for chaining.
      See Also:
        `getClusterStateOnStart()`

    - #### isCacheSanityCheckEnabled

          public boolean isCacheSanityCheckEnabled()

      Gets flag indicating whether cache sanity check is enabled. If enabled, then Ignite will perform the following checks and throw an exception if check fails:
      - Cache entry is not externally locked with `lock(...)` or `lockAsync(...)` methods when entry is enlisted to transaction.
      - Each entry in affinity group-lock transaction has the same affinity key as was specified on affinity transaction start.
      - Each entry in partition group-lock transaction belongs to the same partition as was specified on partition transaction start.

      These checks are not required for cache operation, but help to find subtle bugs. Disabling of this checks usually yields a noticeable performance gain.

      If not provided, default value is `DFLT_CACHE_SANITY_CHECK_ENABLED`.

      Returns:
        `True` if group lock sanity check is enabled.

    - #### setCacheSanityCheckEnabled

          public IgniteConfiguration setCacheSanityCheckEnabled​(boolean cacheSanityCheckEnabled)

      Sets cache sanity check flag.
      Parameters:
        `cacheSanityCheckEnabled` - `True` if cache sanity check is enabled.
      Returns:
        `this` for chaining.
      See Also:
        `isCacheSanityCheckEnabled()`

    - #### getIncludeEventTypes

          public int[] getIncludeEventTypes()

      Gets array of event types, which will be recorded.

      Note that by default all events in Ignite are disabled. Ignite can and often does generate thousands events per seconds under the load and therefore it creates a significant additional load on the system. If these events are not needed by the application this load is unnecessary and leads to significant performance degradation. So it is highly recommended to enable only those events that your application logic requires. Note that certain events are required for Ignite's internal operations and such events will still be generated but not stored by event storage SPI if they are disabled in Ignite configuration.

      Returns:
        Include event types.

    - #### setIncludeEventTypes

          public IgniteConfiguration setIncludeEventTypes​(int... inclEvtTypes)

      Sets array of event types, which will be recorded by `GridEventStorageManager.record(Event)`. Note, that either the include event types or the exclude event types can be established.
      Parameters:
        `inclEvtTypes` - Include event types.
      Returns:
        `this` for chaining.

    - #### setLocalHost

          public IgniteConfiguration setLocalHost​(String locHost)

      Sets system-wide local address or host for all Ignite components to bind to. If provided it will override all default local bind settings within Ignite or any of its SPIs.
      Parameters:
        `locHost` - Local IP address or host to bind to.
      Returns:
        `this` for chaining.

    - #### getLocalHost

          public String getLocalHost()

      Gets system-wide local address or host for all Ignite components to bind to. If provided it will override all default local bind settings within Ignite or any of its SPIs.

      If `null` then Ignite tries to use local wildcard address. That means that all services will be available on all network interfaces of the host machine.

      It is strongly recommended to set this parameter for all production environments.

      If not provided, default is `null`.

      Returns:
        Local address or host to bind to.

    - #### getTimeServerPortBase

          public int getTimeServerPortBase()

      Gets base UPD port number for grid time server. Time server will be started on one of free ports in range `[timeServerPortBase, timeServerPortBase + timeServerPortRange - 1]`.

      Time server provides clock synchronization between nodes.

      Returns:
        Time

    - #### setTimeServerPortBase

          public IgniteConfiguration setTimeServerPortBase​(int timeSrvPortBase)

      Sets time server port base.
      Parameters:
        `timeSrvPortBase` - Time server port base.
      Returns:
        `this` for chaining.

    - #### getTimeServerPortRange

          public int getTimeServerPortRange()

      Defines port range to try for time server start. If port range value is `0`, then implementation will try bind only to the port provided by `setTimeServerPortBase(int)` method and fail if binding to this port did not succeed.
      Returns:
        Number of ports to try before server initialization fails.

    - #### setTimeServerPortRange

          public IgniteConfiguration setTimeServerPortRange​(int timeSrvPortRange)

      Sets time server port range.
      Parameters:
        `timeSrvPortRange` - Time server port range.
      Returns:
        `this` for chaining.

    - #### getIncludeProperties

          public String[] getIncludeProperties()

      Gets array of system or environment properties to include into node attributes. If this array is `null`, which is default, then all system and environment properties will be included. If this array is empty, then none will be included. Otherwise, for every name provided, first a system property will be looked up, and then, if it is not found, environment property will be looked up.
      Returns:
        Array of system or environment properties to include into node attributes.

    - #### setIncludeProperties

          public IgniteConfiguration setIncludeProperties​(String... includeProps)

      Sets array of system or environment property names to include into node attributes. See `getIncludeProperties()` for more info.
      Parameters:
        `includeProps` - Array of system or environment property names to include into node attributes.
      Returns:
        `this` for chaining.

    - #### getMetricsLogFrequency

          public long getMetricsLogFrequency()

      Gets frequency of metrics log print out.

      If `0`, metrics print out is disabled.

      If not provided, then default value `DFLT_METRICS_LOG_FREQ` is used.

      Returns:
        Frequency of metrics log print out.

    - #### setMetricsLogFrequency

          public IgniteConfiguration setMetricsLogFrequency​(long metricsLogFreq)

      Sets frequency of metrics log print out.

      If `0`, metrics print out is disabled.

      If not provided, then default value `DFLT_METRICS_LOG_FREQ` is used.

      Parameters:
        `metricsLogFreq` - Frequency of metrics log print out.
      Returns:
        `this` for chaining.

    - #### getConnectorConfiguration

          public ConnectorConfiguration getConnectorConfiguration()

      Returns:
        Connector configuration.

    - #### setConnectorConfiguration

          public IgniteConfiguration setConnectorConfiguration​(ConnectorConfiguration connectorCfg)

      Parameters:
        `connectorCfg` - Connector configuration.
      Returns:
        `this` for chaining.

    - #### getOdbcConfiguration

          @Deprecated
          public OdbcConfiguration getOdbcConfiguration()

      Deprecated.
      Use `getClientConnectorConfiguration()` ()} instead.
      Gets configuration for ODBC.
      Returns:
        ODBC configuration.

    - #### setOdbcConfiguration

          @Deprecated
          public IgniteConfiguration setOdbcConfiguration​(OdbcConfiguration odbcCfg)

      Deprecated.
      Use `setClientConnectorConfiguration(ClientConnectorConfiguration)` instead.
      Sets configuration for ODBC.
      Parameters:
        `odbcCfg` - ODBC configuration.
      Returns:
        `this` for chaining.

    - #### getServiceConfiguration

          public ServiceConfiguration[] getServiceConfiguration()

      Gets configurations for services to be deployed on the grid.
      Returns:
        Configurations for services to be deployed on the grid.

    - #### setServiceConfiguration

          public IgniteConfiguration setServiceConfiguration​(ServiceConfiguration... svcCfgs)

      Sets configurations for services to be deployed on the grid.
      Parameters:
        `svcCfgs` - Configurations for services to be deployed on the grid.
      Returns:
        `this` for chaining.

    - #### getLocalEventListeners

          public Map<IgnitePredicate<? extends Event>,​int[]> getLocalEventListeners()

      Gets map of pre-configured local event listeners. Each listener is mapped to array of event types.
      Returns:
        Pre-configured event listeners map.
      See Also:
        `EventType`

    - #### setLocalEventListeners

          public IgniteConfiguration setLocalEventListeners​(Map<IgnitePredicate<? extends Event>,​int[]> lsnrs)

      Sets map of pre-configured local event listeners. Each listener is mapped to array of event types.
      Parameters:
        `lsnrs` - Pre-configured event listeners map.
      Returns:
        `this` for chaining.

    - #### getSnapshotPath

          public String getSnapshotPath()

      Returns:
        By default, the relative `DFLT_SNAPSHOT_DIRECTORY` is used. The value can be configured as relative path starting from the Ignites `getWorkDirectory()` or the value can be represented as an absolute snapshot working path.

    - #### setSnapshotPath

          public IgniteConfiguration setSnapshotPath​(String snapshotPath)

      Parameters:
        `snapshotPath` - By default, the relative `DFLT_SNAPSHOT_DIRECTORY` is used. The value can be configured as relative path starting from the Ignites `getWorkDirectory()` or the value can be represented as an absolute snapshot working path instead.
      Returns:
        `this` for chaining.

    - #### getWarmupClosure

          public IgniteInClosure<IgniteConfiguration> getWarmupClosure()

      Gets grid warmup closure. This closure will be executed before actual grid instance start. Configuration of a starting instance will be passed to the closure so it can decide what operations to warm up.
      Returns:
        Warmup closure to execute.

    - #### setWarmupClosure

          public IgniteConfiguration setWarmupClosure​(IgniteInClosure<IgniteConfiguration> warmupClos)

      Sets warmup closure to execute before grid startup.
      Parameters:
        `warmupClos` - Warmup closure to execute.
      Returns:
        `this` for chaining.
      See Also:
        `getWarmupClosure()`

    - #### getTransactionConfiguration

          public TransactionConfiguration getTransactionConfiguration()

      Gets transactions configuration.
      Returns:
        Transactions configuration.

    - #### setTransactionConfiguration

          public IgniteConfiguration setTransactionConfiguration​(TransactionConfiguration txCfg)

      Sets transactions configuration.
      Parameters:
        `txCfg` - Transactions configuration.
      Returns:
        `this` for chaining.

    - #### getPluginConfigurations

          @Deprecated
          public PluginConfiguration[] getPluginConfigurations()

      Deprecated.
      Gets plugin configurations.
      Returns:
        Plugin configurations.
      See Also:
        `PluginProvider`

    - #### setPluginConfigurations

          @Deprecated
          public IgniteConfiguration setPluginConfigurations​(PluginConfiguration... pluginCfgs)

      Deprecated.
      Since `PluginProvider`s can be set explicitly via `setPluginProviders(PluginProvider[])` it's preferable to store `PluginConfiguration` as a part of `PluginProvider`.
      Sets plugin configurations.
      Parameters:
        `pluginCfgs` - Plugin configurations.
      Returns:
        `this` for chaining.
      See Also:
        `PluginProvider`

    - #### getAtomicConfiguration

          public AtomicConfiguration getAtomicConfiguration()

      Returns:
        Atomic data structures configuration.

    - #### setAtomicConfiguration

          public IgniteConfiguration setAtomicConfiguration​(AtomicConfiguration atomicCfg)

      Parameters:
        `atomicCfg` - Atomic data structures configuration.
      Returns:
        `this` for chaining.

    - #### setClassLoader

          public IgniteConfiguration setClassLoader​(ClassLoader classLdr)

      Sets loader which will be used for instantiating execution context (`EntryProcessors`, `CacheEntryListeners`, `CacheLoaders` and `ExpiryPolicys`).
      Parameters:
        `classLdr` - Class loader.
      Returns:
        `this` for chaining.

    - #### getClassLoader

          public ClassLoader getClassLoader()

      Returns:
        User's class loader.

    - #### getCacheStoreSessionListenerFactories

          public javax.cache.configuration.Factory<CacheStoreSessionListener>[] getCacheStoreSessionListenerFactories()

      Gets cache store session listener factories.
      Returns:
        Cache store session listener factories.
      See Also:
        `CacheStoreSessionListener`

    - #### setCacheStoreSessionListenerFactories

          public IgniteConfiguration setCacheStoreSessionListenerFactories​(javax.cache.configuration.Factory<CacheStoreSessionListener>... storeSesLsnrs)

      Cache store session listener factories.

      These are global store session listeners, so they are applied to all caches. If you need to override listeners for a particular cache, use `CacheConfiguration.setCacheStoreSessionListenerFactories(Factory[])` configuration property.

      Parameters:
        `storeSesLsnrs` - Cache store session listener factories.
      Returns:
        `this` for chaining.
      See Also:
        `CacheStoreSessionListener`

    - #### getPlatformConfiguration

          public PlatformConfiguration getPlatformConfiguration()

      Gets platform configuration.
      Returns:
        Platform configuration.

    - #### setPlatformConfiguration

          public IgniteConfiguration setPlatformConfiguration​(PlatformConfiguration platformCfg)

      Sets platform configuration.
      Parameters:
        `platformCfg` - Platform configuration.
      Returns:
        `this` for chaining.

    - #### isLateAffinityAssignment

          @Deprecated
          public boolean isLateAffinityAssignment()

      Deprecated.
      Starting from Ignite 2.1 late affinity assignment is always enabled.
      Whether or not late affinity assignment mode should be used.

      On each topology change, for each started cache partition-to-node mapping is calculated using `AffinityFunction` configured for cache. When late affinity assignment mode is disabled then new affinity mapping is applied immediately.

      With late affinity assignment mode if primary node was changed for some partition, but data for this partition is not rebalanced yet on this node, then current primary is not changed and new primary is temporary assigned as backup. This nodes becomes primary only when rebalancing for all assigned primary partitions is finished. This mode can show better performance for cache operations, since when cache primary node executes some operation and data is not rebalanced yet, then it sends additional message to force rebalancing from other nodes.

      Note, that `Affinity` interface provides assignment information taking into account late assignment, so while rebalancing for new primary nodes is not finished it can return assignment which differs from assignment calculated by `AffinityFunction.assignPartitions(org.apache.ignite.cache.affinity.AffinityFunctionContext)`.

      This property should have the same value for all nodes in cluster.

      Returns:
        Late affinity assignment flag.
      See Also:
        `AffinityFunction`

    - #### setLateAffinityAssignment

          @Deprecated
          public IgniteConfiguration setLateAffinityAssignment​(boolean lateAffAssignment)

      Deprecated.
      Starting from Ignite 2.1 late affinity assignment is always enabled.
      Sets late affinity assignment flag.
      Parameters:
        `lateAffAssignment` - Late affinity assignment flag.
      Returns:
        `this` for chaining.

    - #### getExecutorConfiguration

          public ExecutorConfiguration[] getExecutorConfiguration()

      Gets custom executors for user compute tasks.

      See `setExecutorConfiguration(ExecutorConfiguration...)` for more information.

      Returns:
        Executor configurations.

    - #### setExecutorConfiguration

          public IgniteConfiguration setExecutorConfiguration​(ExecutorConfiguration... execCfgs)

      Sets custom executors for user compute tasks.

      See `IgniteCompute.withExecutor(String)` for more information.

      Parameters:
        `execCfgs` - Executor configurations.
      Returns:
        `this` for chaining.

    - #### getLongQueryWarningTimeout

          @Deprecated
          public long getLongQueryWarningTimeout()

      Deprecated.
      Use `SqlConfiguration.getLongQueryWarningTimeout()` instead.
      Gets timeout in milliseconds after which long query warning will be printed.
      Returns:
        Timeout in milliseconds.

    - #### setLongQueryWarningTimeout

          @Deprecated
          public IgniteConfiguration setLongQueryWarningTimeout​(long longQryWarnTimeout)

      Deprecated.
      Use `SqlConfiguration.setLongQueryWarningTimeout(long)` instead.
      Sets timeout in milliseconds after which long query warning will be printed.
      Parameters:
        `longQryWarnTimeout` - Timeout in milliseconds.
      Returns:
        `this` for chaining.

    - #### setSqlConnectorConfiguration

          @Deprecated
          public IgniteConfiguration setSqlConnectorConfiguration​(SqlConnectorConfiguration sqlConnCfg)

      Deprecated.
      Use `setClientConnectorConfiguration(ClientConnectorConfiguration)` instead.
      Sets SQL connector configuration.
      Parameters:
        `sqlConnCfg` - SQL connector configuration.
      Returns:
        `this` for chaining.

    - #### getSqlConnectorConfiguration

          @Deprecated
          public SqlConnectorConfiguration getSqlConnectorConfiguration()

      Deprecated.
      Use `getClientConnectorConfiguration()` instead.
      Gets SQL connector configuration.
      Returns:
        SQL connector configuration.

    - #### setClientConnectorConfiguration

          public IgniteConfiguration setClientConnectorConfiguration​(@Nullable
                                                                     @Nullable ClientConnectorConfiguration cliConnCfg)

      Sets client connector configuration.
      Parameters:
        `cliConnCfg` - Client connector configuration.
      Returns:
        `this` for chaining.

    - #### getFailureHandler

          public FailureHandler getFailureHandler()

      Gets failure handler.
      Returns:
        Failure handler.

    - #### setFailureHandler

          public IgniteConfiguration setFailureHandler​(FailureHandler failureHnd)

      Sets failure handler.
      Parameters:
        `failureHnd` - Failure handler.
      Returns:
        `This` for chaining.

    - #### getClientConnectorConfiguration

          @Nullable
          public @Nullable ClientConnectorConfiguration getClientConnectorConfiguration()

      Gets client connector configuration.
      Returns:
        Client connector configuration.

    - #### isAuthenticationEnabled

          public boolean isAuthenticationEnabled()

      Returns `true` if user authentication is enabled for cluster. Otherwise returns `false`. Default value is false; authentication is disabled.
      Returns:
        `true` if user authentication is enabled for cluster. Otherwise returns `false`.

    - #### setAuthenticationEnabled

          public IgniteConfiguration setAuthenticationEnabled​(boolean authEnabled)

      Sets flag indicating whether the user authentication is enabled for cluster.
      Parameters:
        `authEnabled` - User authentication enabled flag. `true` enab
      Returns:
        `this` for chaining.

    - #### getSqlSchemas

          @Deprecated
          public String[] getSqlSchemas()

      Deprecated.
      Use `SqlConfiguration.getSqlSchemas()` instead.
      Gets SQL schemas to be created on node startup.

      See `setSqlSchemas(String...)` for more information.

      Returns:
        SQL schemas to be created on node startup.

    - #### setSqlSchemas

          @Deprecated
          public IgniteConfiguration setSqlSchemas​(String... sqlSchemas)

      Deprecated.
      Use `SqlConfiguration.setSqlSchemas(String...)` instead.
      Sets SQL schemas to be created on node startup. Schemas are created on local node only and are not propagated to other cluster nodes. Created schemas cannot be dropped.

      By default schema names are case-insensitive, i.e. `my_schema` and `My_Schema` represents the same object. Use quotes to enforce case sensitivity (e.g. `"My_Schema"`).

      Property is ignored if `ignite-indexing` module is not in classpath.

      Parameters:
        `sqlSchemas` - SQL schemas to be created on node startup.
      Returns:
        `this` for chaining.

    - #### getPluginProviders

          public PluginProvider[] getPluginProviders()

      Gets plugin providers.
      Returns:
        Plugin providers.

    - #### setPluginProviders

          public IgniteConfiguration setPluginProviders​(PluginProvider... pluginProvs)

      Sets plugin providers.
      Parameters:
        `pluginProvs` - Plugin providers.
      Returns:
        `this` for chaining.

    - #### getSqlConfiguration

          public SqlConfiguration getSqlConfiguration()

      Gets Configuration of the SQL subsystem.
      Returns:
        SQL configuration.

    - #### setSqlConfiguration

          public IgniteConfiguration setSqlConfiguration​(SqlConfiguration sqlCfg)

      Parameters:
        `sqlCfg` - Configuration of the SQL subsystem.
      Returns:
        `this` for chaining.

    - #### getAsyncContinuationExecutor

          public Executor getAsyncContinuationExecutor()

      Gets the continuation executor for cache async APIs.

      When `null` (default), `ForkJoinPool.commonPool()` is used.

      When async operation completes, corresponding `IgniteFuture` listeners will be invoked using this executor.
      Returns:
        Executor for async continuations.

    - #### setAsyncContinuationExecutor

          public IgniteConfiguration setAsyncContinuationExecutor​(Executor asyncContinuationExecutor)

      Sets the continuation executor for cache async APIs.

      When `null` (default), `ForkJoinPool.commonPool()` is used.

      When async operation completes, corresponding `IgniteFuture` listeners will be invoked using this executor.
      Parameters:
        `asyncContinuationExecutor` - Executor for async continuations.
      Returns:
        `this` for chaining.

    - #### getDistributedPropertiesDefaultValues

          public Map<String,​String> getDistributedPropertiesDefaultValues()

      Gets default values for distributed properties.
      Returns:
        Default values for distributed properties.

    - #### setDistributedPropertiesDefaultValues

          public IgniteConfiguration setDistributedPropertiesDefaultValues​(Map<String,​String> distrProps)

      Sets default values for distributed properties.
      Parameters:
        `distrProps` - Default values for distributed properties.
      Returns:
        `this` for chaining.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`