org.apache.ignite.spi.discovery.tcp.ipfinder

## Class TcpDiscoveryIpFinderAdapter

- java.lang.Object
- - org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinderAdapter

- All Implemented Interfaces:
    TcpDiscoveryIpFinder
  Direct Known Subclasses:
    TcpDiscoveryJdbcIpFinder, TcpDiscoveryKubernetesIpFinder, TcpDiscoverySharedFsIpFinder, TcpDiscoveryVmIpFinder

      public abstract class TcpDiscoveryIpFinderAdapter
      extends Object
      implements TcpDiscoveryIpFinder

  IP finder interface implementation adapter.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Ignite` | `ignite` Deprecated. Since 2.8. May contain an invalid Ignite instance when multiple nodes shares same `TcpDiscoveryIpFinder` instance.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TcpDiscoveryIpFinderAdapter()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Closes this IP finder and releases any system resources associated with it.
    `protected boolean` | `discoveryClientMode()` Deprecated. Since 2.8. May return incorrect value if client and server nodes shares same `TcpDiscoveryIpFinder` instance.
    `void` | `initializeLocalAddresses(Collection<InetSocketAddress> addrs)` Initializes addresses discovery SPI binds to.
    `boolean` | `isShared()` Checks whether IP finder is shared or not.
    `void` | `onSpiContextDestroyed()` Callback invoked prior to stopping grid before SPI context is destroyed.
    `void` | `onSpiContextInitialized(IgniteSpiContext spiCtx)` Callback invoked when SPI context is initialized after `TcpDiscoverySpi.spiStart(String)` method is completed, SPI context can be stored for future access.
    `TcpDiscoveryIpFinderAdapter` | `setShared(boolean shared)` Sets shared flag.
    `protected IgniteSpiContext` | `spiContext()`
    `String` | `toString()`

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

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

    - ### Methods inherited from interface org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder

      `getRegisteredAddresses, registerAddresses, unregisterAddresses`

- - ### Field Detail

    - #### ignite

          @Deprecated
           @IgniteInstanceResource
           @GridToStringExclude
          protected Ignite ignite

      Deprecated. Since 2.8. May contain an invalid Ignite instance when multiple nodes shares same `TcpDiscoveryIpFinder` instance.
      Ignite instance.

  - ### Constructor Detail

    - #### TcpDiscoveryIpFinderAdapter

          public TcpDiscoveryIpFinderAdapter()

  - ### Method Detail

    - #### onSpiContextInitialized

          public void onSpiContextInitialized(IgniteSpiContext spiCtx)
                                       throws IgniteSpiException

      Callback invoked when SPI context is initialized after `TcpDiscoverySpi.spiStart(String)` method is completed, SPI context can be stored for future access.
      Specified by:
        `onSpiContextInitialized` in interface `TcpDiscoveryIpFinder`
      Parameters:
        `spiCtx` - Spi context.
      Throws:
        `IgniteSpiException` - In case of error.

    - #### onSpiContextDestroyed

          public void onSpiContextDestroyed()

      Callback invoked prior to stopping grid before SPI context is destroyed. Note that invoking SPI context after this callback is complete is considered illegal and may produce unknown results.
      Specified by:
        `onSpiContextDestroyed` in interface `TcpDiscoveryIpFinder`

    - #### initializeLocalAddresses

          public void initializeLocalAddresses(Collection<InetSocketAddress> addrs)
                                        throws IgniteSpiException

      Initializes addresses discovery SPI binds to.
      Specified by:
        `initializeLocalAddresses` in interface `TcpDiscoveryIpFinder`
      Parameters:
        `addrs` - Addresses discovery SPI binds to.
      Throws:
        `IgniteSpiException` - In case of error.

    - #### isShared

          public boolean isShared()

      Checks whether IP finder is shared or not.

      If this property is set to `true` then IP finder allows to add and remove addresses in runtime and this is how, for example, IP finder should work in Amazon EC2 environment or any other environment where IPs may not be known beforehand.

      If this property is set to `false` then IP finder is immutable and all the addresses should be listed in configuration before Ignite start. This is the most use case for IP finders local to current VM. Since, usually such IP finders are created per each Ignite instance and all the known IPs are listed right away, but there is also an option to make such IP finders shared by setting this property to `true` and literally share it between local VM Ignite instances. This way user does not have to list any IPs before start, instead all starting nodes add their addresses to the finder, then get the registered addresses and continue with discovery procedure.

      Specified by:
        `isShared` in interface `TcpDiscoveryIpFinder`
      Returns:
        `true` if IP finder is shared.

    - #### setShared

          @IgniteSpiConfiguration(optional=true)
          public TcpDiscoveryIpFinderAdapter setShared(boolean shared)

      Sets shared flag. If `true` then it is expected that IP addresses registered with IP finder will be seen by IP finders on all other nodes.
      Parameters:
        `shared` - `true` if this IP finder is shared.
      Returns:
        `this` for chaining.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### close

          public void close()

      Closes this IP finder and releases any system resources associated with it.
      Specified by:
        `close` in interface `TcpDiscoveryIpFinder`

    - #### discoveryClientMode

          @Deprecated
          protected boolean discoveryClientMode()

      Deprecated. Since 2.8. May return incorrect value if client and server nodes shares same `TcpDiscoveryIpFinder` instance.
      Returns:
        `True` if TCP discovery works in client mode.

    - #### spiContext

          protected IgniteSpiContext spiContext()

      Returns:
        SPI context.

${current.year} Copyright © Apache Software Foundation
| Follow @ApacheIgnite
Ignite Database and Caching Platform | : ver. 2.15.0
Release Date | : April 25 2023