org.apache.ignite.internal

## Class GridKernalContextImpl

- java.lang.Object
- - org.apache.ignite.internal.GridKernalContextImpl

All Implemented Interfaces:
  Externalizable, Serializable, Iterable<GridComponent>, GridKernalContext

    @GridToStringExclude
    public class GridKernalContextImpl
    extends Object
    implements GridKernalContext, Externalizable

Implementation of kernal context.

See Also:
  Serialized Form

### Field Summary

Fields
`protected ExecutorService` `affExecSvc`
`protected IgniteStripedThreadPoolExecutor` `callbackExecSvc`
`protected ExecutorService` `execSvc`
`protected ExecutorService` `idxExecSvc`
`protected ExecutorService` `qryExecSvc`
`protected ExecutorService` `rebalanceExecSvc`
`protected IgniteStripedThreadPoolExecutor` `rebalanceStripedExecSvc`
`protected ExecutorService` `restExecSvc`
`protected ExecutorService` `schemaExecSvc`
`protected StripedExecutor` `stripedExecSvc`
`protected ExecutorService` `svcExecSvc`
`protected ExecutorService` `sysExecSvc`

### Constructor Summary

Constructors
`` `GridKernalContextImpl()` No-arg constructor is required by externalization.

`protected`

`GridKernalContextImpl(GridLoggerProxy log, IgniteEx grid, IgniteConfiguration cfg, GridKernalGateway gw, ExecutorService utilityCachePool, ExecutorService execSvc, ExecutorService svcExecSvc, ExecutorService sysExecSvc, StripedExecutor stripedExecSvc, ExecutorService p2pExecSvc, ExecutorService mgmtExecSvc, StripedExecutor dataStreamExecSvc, ExecutorService restExecSvc, ExecutorService affExecSvc, @Nullable ExecutorService idxExecSvc, @Nullable ExecutorService buildIdxExecSvc, IgniteStripedThreadPoolExecutor callbackExecSvc, ExecutorService qryExecSvc, ExecutorService schemaExecSvc, ExecutorService rebalanceExecSvc, IgniteStripedThreadPoolExecutor rebalanceStripedExecSvc, @Nullable Map<String,? extends ExecutorService> customExecSvcs, List<PluginProvider> plugins, IgnitePredicate<String> clsFilter, WorkersRegistry workerRegistry, Thread.UncaughtExceptionHandler hnd, LongJVMPauseDetector pauseDetector)`
Creates new kernal context.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `add(GridComponent comp)`
`void` `add(GridComponent comp, boolean addToList)`
`void` `addHelper(Object helper)`
`Object` `addNodeAttribute(String key, Object val)` Add attribute to node attributes.
`GridAffinityProcessor` `affinity()` Gets cache data affinity processor.
`IgniteStripedThreadPoolExecutor` `asyncCallbackPool()` Gets async callback pool.
`ExecutorService` `buildIndexExecutorService()` Return Thread pool for create/rebuild indexes.
`GridCacheProcessor` `cache()` Gets caches processor.
`IgniteCacheObjectProcessor` `cacheObjects()` Gets cache object processor.
`GridCheckpointManager` `checkpoint()` Gets checkpoint manager.
`boolean` `clientDisconnected()`
`boolean` `clientNode()`
`GridClosureProcessor` `closure()` Gets closure processor.
`ClusterProcessor` `cluster()` Gets Cluster processor.
`GridCollisionManager` `collision()` Gets collision manager.
`List<GridComponent>` `components()` Gets list of all grid components in the order they were added.
`CompressionProcessor` `compress()`
`IgniteConfiguration` `config()` Gets grid configuration.
`GridContinuousProcessor` `continuous()` Gets event continuous processor.
`MvccProcessor` `coordinators()`
`<T> T` `createComponent(Class<T> cls)` Creates optional component.
`Map<String,? extends ExecutorService>` `customExecutors()` Executor services that is in charge of processing user compute task.
`<K,V> DataStreamProcessor<K,V>` `dataStream()` Gets data streamer processor.
`DataStructuresProcessor` `dataStructures()` Gets data structures processor.
`IgniteDefragmentation` `defragmentation()` Gets defragmentation manager.
`GridDeploymentManager` `deploy()` Gets deployment manager.
`DiagnosticProcessor` `diagnostic()` Gets diagnostic processor.
`GridDiscoveryManager` `discovery()` Gets discovery manager.
`DistributedConfigurationProcessor` `distributedConfiguration()` Gets distributed configuration processor.
`DistributedMetaStorage` `distributedMetastorage()` Gets global metastorage.
`DurableBackgroundTasksProcessor` `durableBackgroundTask()`
`GridEncryptionManager` `encryption()` Gets encryption manager.
`GridEventStorageManager` `event()` Gets event storage manager.
`IgniteExceptionRegistry` `exceptionRegistry()` Gets exception registry.
`GridFailoverManager` `failover()` Gets failover manager.
`FailureProcessor` `failure()` Gets failure processor.
`GridKernalGateway` `gateway()` Gets kernal gateway.
`ExecutorService` `getAffinityExecutorService()` Get affinity executor service.
`Executor` `getAsyncContinuationExecutor()` Executor that is in charge of processing user async continuations.
`StripedExecutor` `getDataStreamerExecutorService()` Executor service that is in charge of processing data stream messages.
`ExecutorService` `getExecutorService()`
`@Nullable ExecutorService` `getIndexingExecutorService()` Get indexing executor service.
`ExecutorService` `getManagementExecutorService()` Executor service that is in charge of processing internal and Visor `GridJobs`.
`ExecutorService` `getPeerClassLoadingExecutorService()`
`ExecutorService` `getQueryExecutorService()` Executor service that is in charge of processing query messages.
`ExecutorService` `getRebalanceExecutorService()` Executor service that is in charge of processing rebalance messages.
`ExecutorService` `getRestExecutorService()` Should return an instance of fully configured thread pool to be used for processing of client messages (REST requests).
`ExecutorService` `getSchemaExecutorService()` Executor service that is in charge of processing schema change messages.
`ExecutorService` `getServiceExecutorService()` Executor service that is in charge of processing service proxy invocations.
`StripedExecutor` `getStripedExecutorService()` Executor service that is in charge of processing internal system messages in stripes (dedicated threads).
`IgniteStripedThreadPoolExecutor` `getStripedRebalanceExecutorService()` Executor service that is in charge of processing unorderable rebalance messages.
`ExecutorService` `getSystemExecutorService()` Executor service that is in charge of processing internal system messages.
`IgniteEx` `grid()` Gets grid instance managed by kernal.
`boolean` `hasNodeAttribute(String key)` Check if node has specified attribute.
`String` `igniteInstanceName()` Gets Ignite instance name.
`GridIndexingManager` `indexing()` Gets indexing manager.
`IndexProcessor` `indexProcessor()` Indexes processor.
`GridInternalSubscriptionProcessor` `internalSubscriptionProcessor()`
`boolean` `invalid()` Checks whether this node is invalid due to a critical error or not.
`GridIoManager` `io()` Gets communication manager.
`boolean` `isDaemon()` Checks whether this node is daemon.
`boolean` `isStopping()`
`Iterator<GridComponent>` `iterator()`
`GridJobProcessor` `job()` Gets job processor.
`GridJobMetricsProcessor` `jobMetric()` Gets job metric processor.
`GridLoadBalancerManager` `loadBalancing()` Gets load balancing manager.
`UUID` `localNodeId()` Gets local node ID.
`IgniteLogger` `log(Class<?> cls)` Gets logger for given class.
`IgniteLogger` `log(String ctgr)` Gets logger for given category.
`LongJVMPauseDetector` `longJvmPauseDetector()` Gets long JVM pause detector.
`MaintenanceRegistry` `maintenanceRegistry()` Gets maintenance registry.
`GridMarshallerMappingProcessor` `mapping()` Gets grid marshaller mapping processor.
`MarshallerContextImpl` `marshallerContext()` Gets marshaller context.
`GridMetricManager` `metric()` Gets metric manager.
`Object` `nodeAttribute(String key)` Get node attribute by name.
`Map<String,Object>` `nodeAttributes()`
`PdsFoldersResolver` `pdsFolderResolver()`
`GridPerformanceSuggestions` `performance()`
`PerformanceStatisticsProcessor` `performanceStatistics()` Gets Performance statistics processor.
`PlatformProcessor` `platform()`
`PluginProvider` `pluginProvider(String name)`
`IgnitePluginProcessor` `plugins()`
`PoolProcessor` `pools()` Gets pool processor.
`GridPortProcessor` `ports()` Gets port processor.
`void` `printMemoryStats()` Print grid kernal memory stats (sizes of internal structures, etc.).
`GridQueryProcessor` `query()` Gets query processor.
`void` `readExternal(ObjectInput in)`
`protected Object` `readResolve()` Reconstructs object on unmarshalling.
`boolean` `recoveryMode()`
`void` `recoveryMode(boolean recoveryMode)`
`GridResourceProcessor` `resource()` Gets resource processor.
`IgniteRestProcessor` `rest()` Gets REST processor.
`IgniteScheduleProcessorAdapter` `schedule()` Gets schedule processor.
`IgniteSecurity` `security()` Gets instance of `IgniteSecurity`.
`GridSegmentationProcessor` `segmentation()` Gets segmentation processor.
`boolean` `segmented()` Checks whether this node detected its segmentation from the rest of the grid.
`ServiceProcessorAdapter` `service()` Gets service processor.
`GridTaskSessionProcessor` `session()` Gets task session processor.
`ClientListenerProcessor` `sqlListener()` Gets SQL listener processor.
`GridClusterStateProcessor` `state()` Gets cluster state processor.
`GridSystemViewManager` `systemView()` Gets system view manager.
`GridTaskProcessor` `task()` Gets task processor.
`GridTimeoutProcessor` `timeout()` Gets timeout processor.
`String` `toString()`
`Tracing` `tracing()` Gets tracing processor.
`Thread.UncaughtExceptionHandler` `uncaughtExceptionHandler()`
`String` `userVersion(ClassLoader ldr)` Gets user version for given class loader by checking `META-INF/ignite.xml` file for `userVersion` attribute.
`ExecutorService` `utilityCachePool()` Gets utility cache pool.
`WorkersRegistry` `workersRegistry()` Gets workers registry.
`void` `writeExternal(ObjectOutput out)`

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

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

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### Field Detail

#### execSvc

    @GridToStringExclude
    protected ExecutorService execSvc

#### svcExecSvc

    @GridToStringExclude
    protected ExecutorService svcExecSvc

#### sysExecSvc

    @GridToStringExclude
    protected ExecutorService sysExecSvc

#### stripedExecSvc

    @GridToStringExclude
    protected StripedExecutor stripedExecSvc

#### restExecSvc

    @GridToStringExclude
    protected ExecutorService restExecSvc

#### affExecSvc

    @GridToStringExclude
    protected ExecutorService affExecSvc

#### idxExecSvc

    @GridToStringExclude
    protected ExecutorService idxExecSvc

#### callbackExecSvc

    @GridToStringExclude
    protected IgniteStripedThreadPoolExecutor callbackExecSvc

#### qryExecSvc

    @GridToStringExclude
    protected ExecutorService qryExecSvc

#### schemaExecSvc

    @GridToStringExclude
    protected ExecutorService schemaExecSvc

#### rebalanceExecSvc

    @GridToStringExclude
    protected ExecutorService rebalanceExecSvc

#### rebalanceStripedExecSvc

    @GridToStringExclude
    protected IgniteStripedThreadPoolExecutor rebalanceStripedExecSvc

### Constructor Detail

#### GridKernalContextImpl

    public GridKernalContextImpl()

No-arg constructor is required by externalization.

#### GridKernalContextImpl

    protected GridKernalContextImpl(GridLoggerProxy log,
                                    IgniteEx grid,
                                    IgniteConfiguration cfg,
                                    GridKernalGateway gw,
                                    ExecutorService utilityCachePool,
                                    ExecutorService execSvc,
                                    ExecutorService svcExecSvc,
                                    ExecutorService sysExecSvc,
                                    StripedExecutor stripedExecSvc,
                                    ExecutorService p2pExecSvc,
                                    ExecutorService mgmtExecSvc,
                                    StripedExecutor dataStreamExecSvc,
                                    ExecutorService restExecSvc,
                                    ExecutorService affExecSvc,
                                    @Nullable
                                    @Nullable ExecutorService idxExecSvc,
                                    @Nullable
                                    @Nullable ExecutorService buildIdxExecSvc,
                                    IgniteStripedThreadPoolExecutor callbackExecSvc,
                                    ExecutorService qryExecSvc,
                                    ExecutorService schemaExecSvc,
                                    ExecutorService rebalanceExecSvc,
                                    IgniteStripedThreadPoolExecutor rebalanceStripedExecSvc,
                                    @Nullable
                                    @Nullable Map<String,? extends ExecutorService> customExecSvcs,
                                    List<PluginProvider> plugins,
                                    IgnitePredicate<String> clsFilter,
                                    WorkersRegistry workerRegistry,
                                    Thread.UncaughtExceptionHandler hnd,
                                    LongJVMPauseDetector pauseDetector)

Creates new kernal context.

Parameters:
  `log` - Logger.
  `grid` - Grid instance managed by kernal.
  `cfg` - Grid configuration.
  `gw` - Kernal gateway.
  `utilityCachePool` - Utility cache pool.
  `execSvc` - Public executor service.
  `sysExecSvc` - System executor service.
  `stripedExecSvc` - Striped executor.
  `p2pExecSvc` - P2P executor service.
  `mgmtExecSvc` - Management executor service.
  `dataStreamExecSvc` - data stream executor service.
  `restExecSvc` - REST executor service.
  `affExecSvc` - Affinity executor service.
  `idxExecSvc` - Indexing executor service.
  `buildIdxExecSvc` - Create/rebuild indexes executor service.
  `callbackExecSvc` - Callback executor service.
  `qryExecSvc` - Query executor service.
  `schemaExecSvc` - Schema executor service.
  `rebalanceExecSvc` - Rebalance excutor service.
  `rebalanceStripedExecSvc` - Striped rebalance excutor service.
  `customExecSvcs` - Custom named executors.
  `plugins` - Plugin providers.
  `workerRegistry` - Worker registry.
  `hnd` - Default uncaught exception handler used by thread pools.
  `pauseDetector` - Long JVM pause detector.

### Method Detail

#### iterator

    public Iterator<GridComponent> iterator()

Specified by:
  `iterator` in interface `Iterable<GridComponent>`

#### components

    public List<GridComponent> components()

Gets list of all grid components in the order they were added.

Specified by:
  `components` in interface `GridKernalContext`
Returns:
  List of all grid components in the order they were added.

#### add

    public void add(GridComponent comp)

Parameters:
  `comp` - Manager to add.

#### add

    public void add(GridComponent comp,
                    boolean addToList)

Parameters:
  `comp` - Manager to add.
  `addToList` - If `true` component is added to components list.

#### addHelper

    public void addHelper(Object helper)

Parameters:
  `helper` - Helper to add.

#### isStopping

    public boolean isStopping()

Specified by:
  `isStopping` in interface `GridKernalContext`
Returns:
  `True` if grid is in the process of stopping.

#### localNodeId

    public UUID localNodeId()

Gets local node ID.

Specified by:
  `localNodeId` in interface `GridKernalContext`
Returns:
  Local node ID.

#### igniteInstanceName

    public String igniteInstanceName()

Gets Ignite instance name.

Specified by:
  `igniteInstanceName` in interface `GridKernalContext`
Returns:
  Ignite instance name.

#### gateway

    public GridKernalGateway gateway()

Gets kernal gateway.

Specified by:
  `gateway` in interface `GridKernalContext`
Returns:
  Kernal gateway.

#### grid

    public IgniteEx grid()

Gets grid instance managed by kernal.

Specified by:
  `grid` in interface `GridKernalContext`
Returns:
  Grid instance.

#### config

    public IgniteConfiguration config()

Gets grid configuration.

Specified by:
  `config` in interface `GridKernalContext`
Returns:
  Grid configuration.

#### task

    public GridTaskProcessor task()

Gets task processor.

Specified by:
  `task` in interface `GridKernalContext`
Returns:
  Task processor.

#### job

    public GridJobProcessor job()

Gets job processor.

Specified by:
  `job` in interface `GridKernalContext`
Returns:
  Job processor

#### timeout

    public GridTimeoutProcessor timeout()

Gets timeout processor.

Specified by:
  `timeout` in interface `GridKernalContext`
Returns:
  Timeout processor.

#### resource

    public GridResourceProcessor resource()

Gets resource processor.

Specified by:
  `resource` in interface `GridKernalContext`
Returns:
  Resource processor.

#### jobMetric

    public GridJobMetricsProcessor jobMetric()

Gets job metric processor.

Specified by:
  `jobMetric` in interface `GridKernalContext`
Returns:
  Metrics processor.

#### metric

    public GridMetricManager metric()

Gets metric manager.

Specified by:
  `metric` in interface `GridKernalContext`
Returns:
  Monitoring manager.

#### systemView

    public GridSystemViewManager systemView()

Gets system view manager.

Specified by:
  `systemView` in interface `GridKernalContext`
Returns:
  Monitoring manager.

#### maintenanceRegistry

    public MaintenanceRegistry maintenanceRegistry()

Gets maintenance registry.

Specified by:
  `maintenanceRegistry` in interface `GridKernalContext`
Returns:
  Maintenance registry.

#### cache

    public GridCacheProcessor cache()

Gets caches processor.

Specified by:
  `cache` in interface `GridKernalContext`
Returns:
  Cache processor.

#### state

    public GridClusterStateProcessor state()

Gets cluster state processor.

Specified by:
  `state` in interface `GridKernalContext`
Returns:
  Cluster state processor.

#### distributedMetastorage

    public DistributedMetaStorage distributedMetastorage()

Gets global metastorage.

Specified by:
  `distributedMetastorage` in interface `GridKernalContext`
Returns:
  Global metastorage.

#### distributedConfiguration

    public DistributedConfigurationProcessor distributedConfiguration()

Gets distributed configuration processor.

Specified by:
  `distributedConfiguration` in interface `GridKernalContext`
Returns:
  Distributed configuration processor.

#### tracing

    public Tracing tracing()

Gets tracing processor.

Specified by:
  `tracing` in interface `GridKernalContext`
Returns:
  Tracing processor.

#### session

    public GridTaskSessionProcessor session()

Gets task session processor.

Specified by:
  `session` in interface `GridKernalContext`
Returns:
  Session processor.

#### closure

    public GridClosureProcessor closure()

Gets closure processor.

Specified by:
  `closure` in interface `GridKernalContext`
Returns:
  Closure processor.

#### service

    public ServiceProcessorAdapter service()

Gets service processor.

Specified by:
  `service` in interface `GridKernalContext`
Returns:
  Service processor.

#### ports

    public GridPortProcessor ports()

Gets port processor.

Specified by:
  `ports` in interface `GridKernalContext`
Returns:
  Port processor.

#### schedule

    public IgniteScheduleProcessorAdapter schedule()

Gets schedule processor.

Specified by:
  `schedule` in interface `GridKernalContext`
Returns:
  Schedule processor.

#### deploy

    public GridDeploymentManager deploy()

Gets deployment manager.

Specified by:
  `deploy` in interface `GridKernalContext`
Returns:
  Deployment manager.

#### io

    public GridIoManager io()

Gets communication manager.

Specified by:
  `io` in interface `GridKernalContext`
Returns:
  Communication manager.

#### discovery

    public GridDiscoveryManager discovery()

Gets discovery manager.

Specified by:
  `discovery` in interface `GridKernalContext`
Returns:
  Discovery manager.

#### checkpoint

    public GridCheckpointManager checkpoint()

Gets checkpoint manager.

Specified by:
  `checkpoint` in interface `GridKernalContext`
Returns:
  Checkpoint manager.

#### event

    public GridEventStorageManager event()

Gets event storage manager.

Specified by:
  `event` in interface `GridKernalContext`
Returns:
  Event storage manager.

#### failover

    public GridFailoverManager failover()

Gets failover manager.

Specified by:
  `failover` in interface `GridKernalContext`
Returns:
  Failover manager.

#### collision

    public GridCollisionManager collision()

Gets collision manager.

Specified by:
  `collision` in interface `GridKernalContext`
Returns:
  Collision manager.

#### security

    public IgniteSecurity security()

Gets instance of `IgniteSecurity`.

Specified by:
  `security` in interface `GridKernalContext`
Returns:
  Ignite security.

#### loadBalancing

    public GridLoadBalancerManager loadBalancing()

Gets load balancing manager.

Specified by:
  `loadBalancing` in interface `GridKernalContext`
Returns:
  Load balancing manager.

#### indexing

    public GridIndexingManager indexing()

Gets indexing manager.

Specified by:
  `indexing` in interface `GridKernalContext`
Returns:
  Indexing manager.

#### indexProcessor

    public IndexProcessor indexProcessor()

Indexes processor.

Specified by:
  `indexProcessor` in interface `GridKernalContext`
Returns:
  Indexes processor.

#### encryption

    public GridEncryptionManager encryption()

Gets encryption manager.

Specified by:
  `encryption` in interface `GridKernalContext`
Returns:
  Encryption manager.

#### defragmentation

    public IgniteDefragmentation defragmentation()

Gets defragmentation manager.

Specified by:
  `defragmentation` in interface `GridKernalContext`
Returns:
  Defragmentation manager.

#### workersRegistry

    public WorkersRegistry workersRegistry()

Gets workers registry.

Specified by:
  `workersRegistry` in interface `GridKernalContext`
Returns:
  Workers registry.

#### affinity

    public GridAffinityProcessor affinity()

Gets cache data affinity processor.

Specified by:
  `affinity` in interface `GridKernalContext`
Returns:
  Cache data affinity processor.

#### rest

    public IgniteRestProcessor rest()

Gets REST processor.

Specified by:
  `rest` in interface `GridKernalContext`
Returns:
  REST processor.

#### segmentation

    public GridSegmentationProcessor segmentation()

Gets segmentation processor.

Specified by:
  `segmentation` in interface `GridKernalContext`
Returns:
  Segmentation processor.

#### dataStream

    public <K,V> DataStreamProcessor<K,V> dataStream()

Gets data streamer processor.

Specified by:
  `dataStream` in interface `GridKernalContext`
Returns:
  Data streamer processor.

#### continuous

    public GridContinuousProcessor continuous()

Gets event continuous processor.

Specified by:
  `continuous` in interface `GridKernalContext`
Returns:
  Event continuous processor.

#### pools

    public PoolProcessor pools()

Gets pool processor.

Specified by:
  `pools` in interface `GridKernalContext`
Returns:
  Pool processor.

#### mapping

    public GridMarshallerMappingProcessor mapping()

Gets grid marshaller mapping processor.

Specified by:
  `mapping` in interface `GridKernalContext`
Returns:
  Mapping processor.

#### utilityCachePool

    public ExecutorService utilityCachePool()

Gets utility cache pool.

Specified by:
  `utilityCachePool` in interface `GridKernalContext`
Returns:
  Utility cache pool.

#### asyncCallbackPool

    public IgniteStripedThreadPoolExecutor asyncCallbackPool()

Gets async callback pool.

Specified by:
  `asyncCallbackPool` in interface `GridKernalContext`
Returns:
  Async callback pool.

#### cacheObjects

    public IgniteCacheObjectProcessor cacheObjects()

Gets cache object processor.

Specified by:
  `cacheObjects` in interface `GridKernalContext`
Returns:
  Cache object processor.

#### query

    public GridQueryProcessor query()

Gets query processor.

Specified by:
  `query` in interface `GridKernalContext`
Returns:
  Query processor.

#### sqlListener

    public ClientListenerProcessor sqlListener()

Gets SQL listener processor.

Specified by:
  `sqlListener` in interface `GridKernalContext`
Returns:
  SQL listener processor.

#### dataStructures

    public DataStructuresProcessor dataStructures()

Gets data structures processor.

Specified by:
  `dataStructures` in interface `GridKernalContext`
Returns:
  Data structures processor.

#### coordinators

    public MvccProcessor coordinators()

Specified by:
  `coordinators` in interface `GridKernalContext`
Returns:
  Cache mvcc coordinator processor.

#### log

    public IgniteLogger log(String ctgr)

Gets logger for given category.

Specified by:
  `log` in interface `GridKernalContext`
Parameters:
  `ctgr` - Category.
Returns:
  Logger.

#### log

    public IgniteLogger log(Class<?> cls)

Gets logger for given class.

Specified by:
  `log` in interface `GridKernalContext`
Parameters:
  `cls` - Class to get logger for.
Returns:
  Logger.

#### performance

    public GridPerformanceSuggestions performance()

Specified by:
  `performance` in interface `GridKernalContext`
Returns:
  Performance suggestions object.

#### longJvmPauseDetector

    public LongJVMPauseDetector longJvmPauseDetector()

Gets long JVM pause detector.

Specified by:
  `longJvmPauseDetector` in interface `GridKernalContext`
Returns:
  Long JVM pause detector.

#### diagnostic

    public DiagnosticProcessor diagnostic()

Gets diagnostic processor.

Specified by:
  `diagnostic` in interface `GridKernalContext`
Returns:
  Diagnostic processor.

#### printMemoryStats

    public void printMemoryStats()

Print grid kernal memory stats (sizes of internal structures, etc.). NOTE: This method is for testing and profiling purposes only.

Specified by:
  `printMemoryStats` in interface `GridKernalContext`

#### isDaemon

    public boolean isDaemon()

Checks whether this node is daemon.

Specified by:
  `isDaemon` in interface `GridKernalContext`
Returns:
  `True` if this node is daemon, `false` otherwise.

#### userVersion

    public String userVersion(ClassLoader ldr)

Gets user version for given class loader by checking `META-INF/ignite.xml` file for `userVersion` attribute. If `ignite.xml` file is not found, or user version is not specified there, then default version (empty string) is returned.

Specified by:
  `userVersion` in interface `GridKernalContext`
Parameters:
  `ldr` - Class loader.
Returns:
  User version for given class loader or empty string if no version was explicitly specified.

#### pluginProvider

    public PluginProvider pluginProvider(String name)
                                  throws PluginNotFoundException

Specified by:
  `pluginProvider` in interface `GridKernalContext`
Parameters:
  `name` - Plugin name.
Returns:
  Plugin provider instance.
Throws:
  `PluginNotFoundException` - If plugin provider for the given name was not found.

#### createComponent

    @Nullable
    public <T> T createComponent(Class<T> cls)

Creates optional component.

Specified by:
  `createComponent` in interface `GridKernalContext`
Parameters:
  `cls` - Component class.
Returns:
  Created component.

#### plugins

    public IgnitePluginProcessor plugins()

Specified by:
  `plugins` in interface `GridKernalContext`
Returns:
  Plugin manager.

#### writeExternal

    public void writeExternal(ObjectOutput out)
                       throws IOException

Specified by:
  `writeExternal` in interface `Externalizable`
Throws:
  `IOException`

#### readExternal

    public void readExternal(ObjectInput in)
                      throws IOException,
                             ClassNotFoundException

Specified by:
  `readExternal` in interface `Externalizable`
Throws:
  `IOException`
  `ClassNotFoundException`

#### readResolve

    protected Object readResolve()
                          throws ObjectStreamException

Reconstructs object on unmarshalling.

Returns:
  Reconstructed object.
Throws:
  `ObjectStreamException` - Thrown in case of unmarshalling error.

#### getExecutorService

    public ExecutorService getExecutorService()

Specified by:
  `getExecutorService` in interface `GridKernalContext`
Returns:
  Thread pool implementation to be used in grid to process job execution requests and user messages sent to the node.

#### getServiceExecutorService

    public ExecutorService getServiceExecutorService()

Executor service that is in charge of processing service proxy invocations.

Specified by:
  `getServiceExecutorService` in interface `GridKernalContext`
Returns:
  Thread pool implementation to be used in grid for service proxy invocations.

#### getSystemExecutorService

    public ExecutorService getSystemExecutorService()

Executor service that is in charge of processing internal system messages.

Specified by:
  `getSystemExecutorService` in interface `GridKernalContext`
Returns:
  Thread pool implementation to be used in grid for internal system messages.

#### getStripedExecutorService

    public StripedExecutor getStripedExecutorService()

Executor service that is in charge of processing internal system messages in stripes (dedicated threads).

Specified by:
  `getStripedExecutorService` in interface `GridKernalContext`
Returns:
  Thread pool implementation to be used in grid for internal system messages.

#### getManagementExecutorService

    public ExecutorService getManagementExecutorService()

Executor service that is in charge of processing internal and Visor `GridJobs`.

Specified by:
  `getManagementExecutorService` in interface `GridKernalContext`
Returns:
  Thread pool implementation to be used in grid for internal and Visor jobs processing.

#### getPeerClassLoadingExecutorService

    public ExecutorService getPeerClassLoadingExecutorService()

Specified by:
  `getPeerClassLoadingExecutorService` in interface `GridKernalContext`
Returns:
  Thread pool implementation to be used for peer class loading requests handling.

#### getDataStreamerExecutorService

    public StripedExecutor getDataStreamerExecutorService()

Executor service that is in charge of processing data stream messages.

Specified by:
  `getDataStreamerExecutorService` in interface `GridKernalContext`
Returns:
  Thread pool implementation to be used for data stream messages.

#### getRestExecutorService

    public ExecutorService getRestExecutorService()

Should return an instance of fully configured thread pool to be used for processing of client messages (REST requests).

Specified by:
  `getRestExecutorService` in interface `GridKernalContext`
Returns:
  Thread pool implementation to be used for processing of client messages.

#### getAffinityExecutorService

    public ExecutorService getAffinityExecutorService()

Get affinity executor service.

Specified by:
  `getAffinityExecutorService` in interface `GridKernalContext`
Returns:
  Affinity executor service.

#### getIndexingExecutorService

    @Nullable
    public @Nullable ExecutorService getIndexingExecutorService()

Get indexing executor service.

Specified by:
  `getIndexingExecutorService` in interface `GridKernalContext`
Returns:
  Indexing executor service.

#### getQueryExecutorService

    public ExecutorService getQueryExecutorService()

Executor service that is in charge of processing query messages.

Specified by:
  `getQueryExecutorService` in interface `GridKernalContext`
Returns:
  Thread pool implementation to be used in grid for query messages.

#### getSchemaExecutorService

    public ExecutorService getSchemaExecutorService()

Executor service that is in charge of processing schema change messages.

Specified by:
  `getSchemaExecutorService` in interface `GridKernalContext`
Returns:
  Executor service that is in charge of processing schema change messages.

#### getRebalanceExecutorService

    public ExecutorService getRebalanceExecutorService()

Executor service that is in charge of processing rebalance messages.

Specified by:
  `getRebalanceExecutorService` in interface `GridKernalContext`
Returns:
  Executor service that is in charge of processing rebalance messages.

#### getStripedRebalanceExecutorService

    public IgniteStripedThreadPoolExecutor getStripedRebalanceExecutorService()

Executor service that is in charge of processing unorderable rebalance messages.

Specified by:
  `getStripedRebalanceExecutorService` in interface `GridKernalContext`
Returns:
  Executor service that is in charge of processing unorderable rebalance messages.

#### customExecutors

    public Map<String,? extends ExecutorService> customExecutors()

Executor services that is in charge of processing user compute task.

Specified by:
  `customExecutors` in interface `GridKernalContext`
Returns:
  Map of custom thread pool executors.

#### exceptionRegistry

    public IgniteExceptionRegistry exceptionRegistry()

Gets exception registry.

Specified by:
  `exceptionRegistry` in interface `GridKernalContext`
Returns:
  Exception registry.

#### nodeAttribute

    public Object nodeAttribute(String key)

Get node attribute by name.

Specified by:
  `nodeAttribute` in interface `GridKernalContext`
Parameters:
  `key` - Attribute name.
Returns:
  Attribute value.

#### hasNodeAttribute

    public boolean hasNodeAttribute(String key)

Check if node has specified attribute.

Specified by:
  `hasNodeAttribute` in interface `GridKernalContext`
Parameters:
  `key` - Attribute name.
Returns:
  `true` If node has attribute with specified name.

#### addNodeAttribute

    public Object addNodeAttribute(String key,
                                   Object val)

Add attribute to node attributes.

Specified by:
  `addNodeAttribute` in interface `GridKernalContext`
Parameters:
  `key` - Attribute name.
  `val` - Attribute value.
Returns:
  Previous attribute value associated with attribute name.

#### nodeAttributes

    public Map<String,Object> nodeAttributes()

Specified by:
  `nodeAttributes` in interface `GridKernalContext`
Returns:
  Node attributes.

#### cluster

    public ClusterProcessor cluster()

Gets Cluster processor.

Specified by:
  `cluster` in interface `GridKernalContext`
Returns:
  Cluster processor.

#### marshallerContext

    public MarshallerContextImpl marshallerContext()

Gets marshaller context.

Specified by:
  `marshallerContext` in interface `GridKernalContext`
Returns:
  Marshaller context.

#### clientNode

    public boolean clientNode()

Specified by:
  `clientNode` in interface `GridKernalContext`
Returns:
  `True` if local node is client node (has flag `IgniteConfiguration.isClientMode()` set).

#### clientDisconnected

    public boolean clientDisconnected()

Specified by:
  `clientDisconnected` in interface `GridKernalContext`
Returns:
  `True` if local node in disconnected state.

#### platform

    public PlatformProcessor platform()

Specified by:
  `platform` in interface `GridKernalContext`
Returns:
  Platform processor.

#### internalSubscriptionProcessor

    public GridInternalSubscriptionProcessor internalSubscriptionProcessor()

Specified by:
  `internalSubscriptionProcessor` in interface `GridKernalContext`
Returns:
  subscription processor to manage internal-only (strict node-local) subscriptions between components.

#### pdsFolderResolver

    public PdsFoldersResolver pdsFolderResolver()

Specified by:
  `pdsFolderResolver` in interface `GridKernalContext`
Returns:
  PDS mode folder name resolver, also generates consistent ID in case new folder naming is used

#### invalid

    public boolean invalid()

Checks whether this node is invalid due to a critical error or not.

Specified by:
  `invalid` in interface `GridKernalContext`
Returns:
  `True` if this node is invalid, `false` otherwise.

#### segmented

    public boolean segmented()

Checks whether this node detected its segmentation from the rest of the grid.

Specified by:
  `segmented` in interface `GridKernalContext`
Returns:
  `True` if this node has segmented, `false` otherwise.

#### failure

    public FailureProcessor failure()

Gets failure processor.

Specified by:
  `failure` in interface `GridKernalContext`

#### uncaughtExceptionHandler

    public Thread.UncaughtExceptionHandler uncaughtExceptionHandler()

Specified by:
  `uncaughtExceptionHandler` in interface `GridKernalContext`
Returns:
  Default uncaught exception handler used by thread pools.

#### compress

    public CompressionProcessor compress()

Specified by:
  `compress` in interface `GridKernalContext`
Returns:
  Compression processor.

#### recoveryMode

    public boolean recoveryMode()

Specified by:
  `recoveryMode` in interface `GridKernalContext`
Returns:
  `True` if node is in recovery mode (before join to topology).

#### recoveryMode

    public void recoveryMode(boolean recoveryMode)

Parameters:
  `recoveryMode` - Recovery mode.

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### durableBackgroundTask

    public DurableBackgroundTasksProcessor durableBackgroundTask()

Specified by:
  `durableBackgroundTask` in interface `GridKernalContext`
Returns:
  Local continuous tasks processor.

#### buildIndexExecutorService

    public ExecutorService buildIndexExecutorService()

Return Thread pool for create/rebuild indexes.

Specified by:
  `buildIndexExecutorService` in interface `GridKernalContext`
Returns:
  Thread pool for create/rebuild indexes.

#### performanceStatistics

    public PerformanceStatisticsProcessor performanceStatistics()

Gets Performance statistics processor.

Specified by:
  `performanceStatistics` in interface `GridKernalContext`
Returns:
  Performance statistics processor.

#### getAsyncContinuationExecutor

    public Executor getAsyncContinuationExecutor()

Executor that is in charge of processing user async continuations.

Specified by:
  `getAsyncContinuationExecutor` in interface `GridKernalContext`
Returns:
  Executor that is in charge of processing user async continuations.

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.11.0
Release Date | : September 11 2021