## Uses of Interface
org.apache.ignite.spi.IgniteSpi

- Packages that use IgniteSpi
  Package | Description
  --- | ---
  org.apache.ignite.internal.processors.metric |
  org.apache.ignite.spi | Contains common classes and interfaces for SPI implementations.
  org.apache.ignite.spi.checkpoint | Contains APIs for checkpoint SPI.
  org.apache.ignite.spi.checkpoint.cache | Contains cache-based implementation for checkpoint SPI.
  org.apache.ignite.spi.checkpoint.jdbc | Contains JDBC implementation for checkpoint SPI.
  org.apache.ignite.spi.checkpoint.noop | Contains default no-op checkpoint SPI implementation.
  org.apache.ignite.spi.checkpoint.sharedfs | Contains shared file system implementation for checkpoint SPI.
  org.apache.ignite.spi.collision | Contains APIs for collision SPI.
  org.apache.ignite.spi.collision.fifoqueue | Contains FIFO based collision SPI implementation.
  org.apache.ignite.spi.collision.jobstealing | Contains job stealing collision SPI implementation.
  org.apache.ignite.spi.collision.noop | Contains default no-op collision SPI implementation.
  org.apache.ignite.spi.collision.priorityqueue | Contains priority based collision SPI implementation.
  org.apache.ignite.spi.communication | Contains APIs for grid communication SPI.
  org.apache.ignite.spi.communication.tcp | Contains default TCP/IP-based implementation for communication SPI.
  org.apache.ignite.spi.communication.tcp.internal |
  org.apache.ignite.spi.deployment | Contains APIs for deployment SPI.
  org.apache.ignite.spi.deployment.local | Contains default local deployment SPI implementation.
  org.apache.ignite.spi.deployment.uri | Contains URI-based deployment SPI implementation.
  org.apache.ignite.spi.discovery | Contains APIs for topology manager SPI.
  org.apache.ignite.spi.discovery.isolated | Contains implementation of special "isolated" mode for single-node cluster.
  org.apache.ignite.spi.discovery.tcp | Contains default TCP/IP implementation for discovery SPI.
  org.apache.ignite.spi.discovery.zk | Contains Zookeeper Discovery Spi classes and interfaces.
  org.apache.ignite.spi.encryption | Contains APIs for encryption SPI.
  org.apache.ignite.spi.encryption.keystore | Contains encryption SPI implementation based on standard jdk keystore.
  org.apache.ignite.spi.encryption.noop | Contains no-op encryption SPI implementation.
  org.apache.ignite.spi.eventstorage | Contains APIs for event storage SPI.
  org.apache.ignite.spi.eventstorage.memory | Contains default in-memory implementation for event storage SPI.
  org.apache.ignite.spi.failover | Contains APIs for failover SPI.
  org.apache.ignite.spi.failover.always | Contains default "always" failover SPI.
  org.apache.ignite.spi.failover.jobstealing | Contains job stealing failover SPI.
  org.apache.ignite.spi.failover.never | Contains "never" failover SPI.
  org.apache.ignite.spi.indexing | Contains APIs for indexing SPI.
  org.apache.ignite.spi.indexing.noop | Contains default no-op indexing SPI implementation.
  org.apache.ignite.spi.loadbalancing | Contains APIs for load balancing SPI.
  org.apache.ignite.spi.loadbalancing.adaptive | Contains adaptive load balancing SPI.
  org.apache.ignite.spi.loadbalancing.roundrobin | Contains default round-robin implementation for load balancing SPI.
  org.apache.ignite.spi.loadbalancing.weightedrandom | Contains weighted random-base implementation for load balancing SPI.
  org.apache.ignite.spi.metric | Contains common classes and interfaces for metric SPI implementations.
  org.apache.ignite.spi.metric.jmx | Contains JMX based implementation of MetricExporterSpi.
  org.apache.ignite.spi.metric.log | Contains push to log implementation of MetricExporterSpi.
  org.apache.ignite.spi.metric.noop | Contains no-op implementation of MetricExporterSpi.
  org.apache.ignite.spi.metric.opencensus |
  org.apache.ignite.spi.systemview | Contains common classes and interfaces for system view SPI implementations.
  org.apache.ignite.spi.tracing | Contains common classes and interfaces for tracing SPI implementations.
  org.apache.ignite.spi.tracing.opencensus | Contains API for OpenCensus Tracing framework integration.

- - ### Uses of IgniteSpi in org.apache.ignite.internal.processors.metric

    Classes in org.apache.ignite.internal.processors.metric with annotations of type with type parameters of type that implement declared as with annotations of type with type parameters of type with annotations of type with annotations of type with type parameters of type that return that return types with arguments of type with parameters of type with type arguments of type that throw with annotations of type with annotations of type with parameters of type with type arguments of type that throw IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `org.apache.ignite.internal.processors.metric.PushMetricsExporterAdapter` | Base class for exporters that pushes metrics to the external system.

  - ### Uses of IgniteSpi in org.apache.ignite.spi

    Classes in org.apache.ignite.spi that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `IgniteSpiAdapter` | This class provides convenient adapter for SPI implementations.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.checkpoint

    Subinterfaces of IgniteSpi in org.apache.ignite.spi.checkpoint
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `CheckpointSpi` | Checkpoint SPI provides an ability to save an intermediate job state.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.checkpoint.cache

    Classes in org.apache.ignite.spi.checkpoint.cache that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `CacheCheckpointSpi` | This class defines cache-based implementation for checkpoint SPI.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.checkpoint.jdbc

    Classes in org.apache.ignite.spi.checkpoint.jdbc that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `JdbcCheckpointSpi` | This class defines JDBC checkpoint SPI implementation.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.checkpoint.noop

    Classes in org.apache.ignite.spi.checkpoint.noop that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `NoopCheckpointSpi` | No-op implementation of `CheckpointSpi`.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.checkpoint.sharedfs

    Classes in org.apache.ignite.spi.checkpoint.sharedfs that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `SharedFsCheckpointSpi` | This class defines shared file system `CheckpointSpi` implementation for checkpoint SPI.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.collision

    Subinterfaces of IgniteSpi in org.apache.ignite.spi.collision
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `CollisionSpi` | Collision SPI allows to regulate how grid jobs get executed when they arrive on a destination node for execution.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.collision.fifoqueue

    Classes in org.apache.ignite.spi.collision.fifoqueue that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `FifoQueueCollisionSpi` | This class provides implementation for Collision SPI based on FIFO queue.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.collision.jobstealing

    Classes in org.apache.ignite.spi.collision.jobstealing that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `JobStealingCollisionSpi` | Collision SPI that supports job stealing from over-utilized nodes to under-utilized nodes.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.collision.noop

    Classes in org.apache.ignite.spi.collision.noop that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `NoopCollisionSpi` | No-op implementation of `CollisionSpi`.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.collision.priorityqueue

    Classes in org.apache.ignite.spi.collision.priorityqueue that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `PriorityQueueCollisionSpi` | This class provides implementation for Collision SPI based on priority queue.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.communication

    Subinterfaces of IgniteSpi in org.apache.ignite.spi.communication
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `CommunicationSpi<T extends Serializable>` | Communication SPI is responsible for data exchange between nodes.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.communication.tcp

    Classes in org.apache.ignite.spi.communication.tcp that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `TcpCommunicationSpi` | `TcpCommunicationSpi` is default communication SPI which uses TCP/IP protocol and Java NIO to communicate with other nodes.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.communication.tcp.internal

    Classes in org.apache.ignite.spi.communication.tcp.internal with annotations of type with type parameters of type that implement declared as with annotations of type with type parameters of type with annotations of type with annotations of type with type parameters of type that return that return types with arguments of type with parameters of type with type arguments of type that throw with annotations of type with annotations of type with parameters of type with type arguments of type that throw IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `org.apache.ignite.spi.communication.tcp.internal.TcpCommunicationConfigInitializer` | Only may implement it TcpCommunicationSpi.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.deployment

    Subinterfaces of IgniteSpi in org.apache.ignite.spi.deployment
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `DeploymentSpi` | Grid deployment SPI is in charge of deploying tasks and classes from different sources.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.deployment.local

    Classes in org.apache.ignite.spi.deployment.local that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `LocalDeploymentSpi` | Local deployment SPI that implements only within VM deployment on local node via `LocalDeploymentSpi.register(ClassLoader, Class)` method.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.deployment.uri

    Classes in org.apache.ignite.spi.deployment.uri that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `UriDeploymentSpi` | Implementation of `DeploymentSpi` which can deploy tasks from different sources like file system folders, email and HTTP.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.discovery

    Subinterfaces of IgniteSpi in org.apache.ignite.spi.discovery
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `DiscoverySpi` | Grid discovery SPI allows to discover remote nodes in grid.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.discovery.isolated

    Classes in org.apache.ignite.spi.discovery.isolated that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `IsolatedDiscoverySpi` | Special discovery SPI implementation to start a single-node cluster in "isolated" mode.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.discovery.tcp

    Classes in org.apache.ignite.spi.discovery.tcp that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `TcpDiscoverySpi` | Discovery SPI implementation that uses TCP/IP for node discovery.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.discovery.zk

    Classes in org.apache.ignite.spi.discovery.zk that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `ZookeeperDiscoverySpi` | Zookeeper Discovery Spi.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.encryption

    Subinterfaces of IgniteSpi in org.apache.ignite.spi.encryption
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `EncryptionSpi` | SPI provides encryption features for an Ignite.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.encryption.keystore

    Classes in org.apache.ignite.spi.encryption.keystore that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `KeystoreEncryptionSpi` | EncryptionSPI implementation base on JDK provided cipher algorithm implementations.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.encryption.noop

    Classes in org.apache.ignite.spi.encryption.noop that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `NoopEncryptionSpi` | No operation `EncryptionSPI` implementation.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.eventstorage

    Subinterfaces of IgniteSpi in org.apache.ignite.spi.eventstorage
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `EventStorageSpi` | This SPI provides local node events storage.

    Classes in org.apache.ignite.spi.eventstorage that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `NoopEventStorageSpi` | No-op implementation of `EventStorageSpi`.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.eventstorage.memory

    Classes in org.apache.ignite.spi.eventstorage.memory that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `MemoryEventStorageSpi` | In-memory `EventStorageSpi` implementation.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.failover

    Subinterfaces of IgniteSpi in org.apache.ignite.spi.failover
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `FailoverSpi` | Failover SPI provides developer with ability to supply custom logic for handling failed execution of a grid job.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.failover.always

    Classes in org.apache.ignite.spi.failover.always that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AlwaysFailoverSpi` | Failover SPI that always reroutes a failed job to another node.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.failover.jobstealing

    Classes in org.apache.ignite.spi.failover.jobstealing that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `JobStealingFailoverSpi` | Job stealing failover SPI needs to always be used in conjunction with `JobStealingCollisionSpi` SPI.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.failover.never

    Classes in org.apache.ignite.spi.failover.never that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `NeverFailoverSpi` | This class provides failover SPI implementation that never fails over.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.indexing

    Subinterfaces of IgniteSpi in org.apache.ignite.spi.indexing
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `IndexingSpi` | Indexing SPI allows user to index cache content.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.indexing.noop

    Classes in org.apache.ignite.spi.indexing.noop that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `NoopIndexingSpi` | Default implementation of `IndexingSpi` which does not index cache.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.loadbalancing

    Subinterfaces of IgniteSpi in org.apache.ignite.spi.loadbalancing
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `LoadBalancingSpi` | Load balancing SPI provides the next best balanced node for job execution.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.loadbalancing.adaptive

    Classes in org.apache.ignite.spi.loadbalancing.adaptive that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AdaptiveLoadBalancingSpi` | Load balancing SPI that adapts to overall node performance.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.loadbalancing.roundrobin

    Classes in org.apache.ignite.spi.loadbalancing.roundrobin that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `RoundRobinLoadBalancingSpi` | This SPI iterates through nodes in round-robin fashion and pick the next sequential node.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.loadbalancing.weightedrandom

    Classes in org.apache.ignite.spi.loadbalancing.weightedrandom that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `WeightedRandomLoadBalancingSpi` | Load balancing SPI that picks a random node for job execution.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.metric

    Subinterfaces of IgniteSpi in org.apache.ignite.spi.metric
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `MetricExporterSpi` | Exporter of metric information to the external recipient.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.metric.jmx

    Classes in org.apache.ignite.spi.metric.jmx that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `JmxMetricExporterSpi` | Overview

  - ### Uses of IgniteSpi in org.apache.ignite.spi.metric.log

    Classes in org.apache.ignite.spi.metric.log that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `LogExporterSpi` | This SPI implementation exports metrics to Ignite log.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.metric.noop

    Classes in org.apache.ignite.spi.metric.noop that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `NoopMetricExporterSpi` | No-op implementation of metric exporter SPI.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.metric.opencensus

    Classes in org.apache.ignite.spi.metric.opencensus that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `OpenCensusMetricExporterSpi` | OpenCensus monitoring exporter.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.systemview

    Subinterfaces of IgniteSpi in org.apache.ignite.spi.systemview
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `SystemViewExporterSpi` | Exporter of system view to the external recepient.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.tracing

    Subinterfaces of IgniteSpi in org.apache.ignite.spi.tracing
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `TracingSpi<S extends SpiSpecificSpan>` | Tracing SPI interface.

    Classes in org.apache.ignite.spi.tracing that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `NoopTracingSpi` | Noop and null-safe implementation of Tracing SPI.

  - ### Uses of IgniteSpi in org.apache.ignite.spi.tracing.opencensus

    Classes in org.apache.ignite.spi.tracing.opencensus that implement IgniteSpi
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `OpenCensusTracingSpi` | Tracing SPI implementation based on OpenCensus library.