title: How to connect Apache Ignite Thin Client to Apache Ignite Cluster?
body: <p>I have a running Ignite cluster and I use <code>AWS S3</code> for node discovery:</p>
  <pre class="lang-java prettyprint-override"><code>TcpDiscoveryS3IpFinder ipFinder = new TcpDiscoveryS3IpFinder();
  BasicAWSCredentials awsCredentials =
      new BasicAWSCredentials(igniteAccessKey, igniteSecretAccessKey);
  ipFinder.setAwsCredentials(awsCredentials);
  ipFinder.setBucketName(igniteBucketName);
  ipFinder.setBucketEndpoint(&quot;s3.eu-central-1.amazonaws.com&quot;);
  
  TcpDiscoverySpi spi = new TcpDiscoverySpi();
  spi.setIpFinder(ipFinder);
  
  IgniteConfiguration cfg = new IgniteConfiguration();
  cfg.setClientMode(true);
  
  cfg.setDiscoverySpi(spi);
  Ignition.start(cfg);    
  </code></pre>
  <p>It works very well and I can connect to this cluster using <code>Apache Ignite Client</code> nodes.</p>
  <p>But what about <code>Apache Ignite Thin Client</code>? <code>Thin client</code> uses <code>ClientConfiguration</code> class (instead of <code>IgniteConfiguration</code>) that requires a list of IP addresses of cluster nodes. AFAIK one can only hardcode that list of IP addresses.<br/> From official documentation:</p>
  <pre><code>ClientConfiguration cfg = new ClientConfiguration().setAddresses(&quot;127.0.0.1:10800&quot;);
  try (IgniteClient client = Ignition.startClient(cfg)) {
      ClientCache&lt;Integer, String&gt; cache = client.cache(&quot;myCache&quot;);
      // Get data from the cache
  }
  </code></pre>
  <p>So I have questions:</p>
  <ol>
  <li>How should I handle situations when a list of IP addresses change?</li>
  <li>Is there any way to use <strong>node discovery</strong> for <code>Thin clients</code>?</li>
  </ol>