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 <[email protected]>
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 <[email protected]>:
>
>> 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/
>>
>