Added failover example.

Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/abfc5858
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/abfc5858
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/abfc5858

Branch: refs/heads/ignite-7777
Commit: abfc58585240b562997124ccdbd281614a9039eb
Parents: 34d93e7
Author: Pavel Petroshenko <[email protected]>
Authored: Sun May 27 16:26:27 2018 -0700
Committer: Pavel Petroshenko <[email protected]>
Committed: Sun May 27 16:26:27 2018 -0700

----------------------------------------------------------------------
 .../nodejs/examples/FailOverExample.js          | 54 ++++++++++++++++++++
 1 file changed, 54 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/abfc5858/modules/platforms/nodejs/examples/FailOverExample.js
----------------------------------------------------------------------
diff --git a/modules/platforms/nodejs/examples/FailOverExample.js 
b/modules/platforms/nodejs/examples/FailOverExample.js
new file mode 100644
index 0000000..beb545b
--- /dev/null
+++ b/modules/platforms/nodejs/examples/FailOverExample.js
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+const IgniteClient = require('apache-ignite-client');
+const IgniteClientConfiguration = IgniteClient.IgniteClientConfiguration;
+
+// This example demonstrates failover behavior of the client
+// - configures the client to connect to a set of nodes
+// - connects to a node
+// - if connection is broken, the client automatically tries to reconnect to 
another node
+// - if no specified nodes are available, stops the client
+async function connectClient() {
+    const igniteClient = new IgniteClient(onStateChanged);
+    try {
+        const igniteClientConfiguration = new IgniteClientConfiguration(
+            '127.0.0.1:10800', '127.0.0.1:10801', '127.0.0.1:10802');
+        // connect to Ignite a node
+        await igniteClient.connect(igniteClientConfiguration);
+    }
+    catch (err) {
+        console.log(err.message);
+    }
+}
+
+function onStateChanged(state, reason) {
+    if (state === IgniteClient.STATE.CONNECTED) {
+        console.log('Client is started');
+    }
+    else if (state === IgniteClient.STATE.CONNECTING) {
+        console.log('Client is connecting');
+    }
+    else if (state === IgniteClient.STATE.DISCONNECTED) {
+        console.log('Client is stopped');
+        if (reason) {
+            console.log(reason);
+        }
+    }
+}
+
+connectClient();
\ No newline at end of file

Reply via email to