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
