Hello,

There was a bug [1] with one node thin client configuration, which is fixed
now but was not released yet.
You can try to add one more server address (the same address) as a
workaround. For example:

ClientConfiguration cfg = new
ClientConfiguration().setAddresses(hostName + ":" + portNumber,
hostName + ":" + portNumber);


[1] https://issues.apache.org/jira/browse/IGNITE-11649

вт, 2 июл. 2019 г. в 20:36, Shane Duan <sduane...@gmail.com>:

> I am having similar problem: I am testing with a one-node-cluster. After
> restart the Ignite cluster(server), Java thin client is not reconnecting.
> There is no port change on server for my case since I defined client port
> in the Ignite configuration:
>
> org.apache.ignite.client.ClientConnectionException: Ignite cluster is
> unavailable
> at
> org.apache.ignite.internal.client.thin.TcpClientChannel.read(TcpClientChannel.java:333)
> at
> org.apache.ignite.internal.client.thin.TcpClientChannel.receive(TcpClientChannel.java:154)
> at
> org.apache.ignite.internal.client.thin.ReliableChannel.service(ReliableChannel.java:126)
> at
> org.apache.ignite.internal.client.thin.TcpClientCache.get(TcpClientCache.java:82)
> at
> com.esri.arcgis.datastore.model.cachestore.BinaryTest.main(BinaryTest.java:69)
>
> import org.apache.ignite.IgniteBinary;
> import org.apache.ignite.Ignition;
> import org.apache.ignite.binary.BinaryObject;
> import org.apache.ignite.client.ClientCache;
> import org.apache.ignite.client.IgniteClient;
> import org.apache.ignite.configuration.ClientConfiguration;
>
> public class BinaryTest {
>
>   public static void main(String[] args) {
>
>     IgniteClient igniteClient = null;
>
>     try{
>
>       // Prepare a Ignite thin client
>       String hostName = args[0];
>       Integer portNumber = Integer.parseInt(args[1]);
>       String userName = args[2];
>       String password = args[3];
>
>       ClientConfiguration cfg = new 
> ClientConfiguration().setAddresses(hostName + ":" + portNumber);
>       cfg.setUserName(userName);
>       cfg.setUserPassword(password);
>
>       igniteClient = Ignition.startClient(cfg);
>
>       // Get IgniteBinary object using the ignite thin client.
>       IgniteBinary binary = igniteClient.binary();
>
>       // Build two test binary object.
>       // Note: we are defining the attributes for the binary object on the 
> fly.
>       BinaryObject val1 = binary.builder("person")
>           .setField("id", 1, int.class)
>           .setField("name", "Tom J", String.class)
>           .build();
>       BinaryObject val2 = binary.builder("person")
>           .setField("id", 2, int.class)
>           .setField("name", "Jeffson L", String.class)
>           .build();
>
>       // Create a cache, keep it as binary.
>       ClientCache<Integer, BinaryObject> cache = 
> igniteClient.getOrCreateCache("persons").withKeepBinary();
>
>       // Store the testing objects.
>       cache.put(1, val1);
>       cache.put(2, val2);
>
>
>       ////////////////////////////////////////////
>       // Please restart Ignite server here.
>       ////////////////////////////////////////////
>
>       // Get the objects.
>       BinaryObject cachedVal1 = cache.get(1);
>       System.out.println("Person1");
>       System.out.println("\tID   = " + cachedVal1.field("id"));
>       System.out.println("\tName = " + cachedVal1.field("name"));
>
>       BinaryObject cachedVal2 = cache.get(2);
>       System.out.println("Person2");
>       System.out.println("\tID   = " + cachedVal2.field("id"));
>       System.out.println("\tName = " + cachedVal2.field("name"));
>
>       // Destroy the cache.
>       System.out.print("Dropped caches...");
>       igniteClient.destroyCache("persons");
>
>     } catch (Exception e) {
>       e.printStackTrace();
>     } finally {
>       if (igniteClient != null) {
>         try {
>           igniteClient.close();
>         } catch (Exception ignore) {
>         }
>       }
>     }
>   }
>
> }
>
>
> On Mon, Jul 1, 2019 at 5:38 AM Alex Plehanov <plehanov.a...@gmail.com>
> wrote:
>
>> Hello, Rick
>>
>> There should be a message in the server log:
>> "Client connector processor has started on TCP port xxxxx" with "INFO"
>> level.
>>
>> пн, 1 июл. 2019 г. в 10:26, rick_tem <rvinc...@temenos.com>:
>>
>>> Thanks for your response.  I tried 10801 and it failed.  My question is
>>> how
>>> do I find out which port it is using?
>>>
>>> Thanks,
>>> Rick
>>>
>>>
>>>
>>> --
>>> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>>>
>>

Reply via email to