exports.getEntry = function (req, res) { console.log('Operating with Infinispan api.ispn.getEntry.... ' + "key to get: " + req.body.keyToGet); var connected = infinispan.client({port: 11222, host: '127.0.0.1'}); connected.then(function (client) { var value = client.get(req.body.keyToGet); var valueSend = value.then( function () { res.send({error: 0, valueReturned: value._65}, 201); } ); return valueSend.finally( function () { return client.disconnect(); }); }).catch(function (error) { console.log("***** Got error getEntry: " + error.message); }); };
return new Promise(function (resolve, reject) { var nodeElement; var nodeChildren = []; var host = member.host; var port = member.port; var connected = infinispan.client({port: port, host: host}); connected.then(function (client) { client.stats().then( function (stats) { // TODO: implement proper logging console.log("***** getCurrentEntriesForMember: " + host + ":" + port + " currEntries= " + stats.currentNumberOfEntries); for (x = 0; x < stats.currentNumberOfEntries; x++) { nodeChildren[x] = {"name": "a key", "size": 30}; } if (stats.currentNumberOfEntries === 0) { nodeElement = { "name": "server_" + port, "children": [{"name": "server_" + port, "size": 30}] }; } else { nodeElement = { "name": "server_" + port, "children": nodeChildren }; } resolve(nodeElement); }, function (err) { // TODO: implement better and proper error handling // TODO: reject and propagate console.log("Getting stats failed.", err); }); }, function (err) { console.log("Connected failed.", err); }); }); // promise
var infinispan = require("infinispan"); var connected = infinispan.client(11222, "localhost"); connected.then(function(client) { console.log("connected."); var putted1 = client.put("key1", "value1"); var getted1 = putted1.then(function() { return client.get("key1").then(function(value) { console.log("key1 = " + value); }); }); var replaceAndPut = getted1.then(function() { return client .replace("key1", "value100") .then(function() { return client.put("key2", "value2"); }); }); var getted2 = replaceAndPut.then(function() { return client .get("key1") .then(function(value) { console.log("key1 = " + value); }) .then(function() { return client.get("key2").then(function(value) { console.log("key2 = " + value);
'use strict'; var infinispan = require('infinispan'); var jdgHost = process.env.DATAGRID_HOTROD_SERVICE_HOST || "127.0.0.1"; var jdgPort = process.env.DATAGRID_HOTROD_SERVICE_PORT || 11222; var connected = infinispan.client({port: jdgPort, host: jdgHost}, {version: '2.2'}); var util = require('util'); module.exports = { greet : greet }; function greet(req, res) { var name = req.swagger.params.name.value; connected.then(function (client) { client.get(name).then( function(value) { if(value == undefined) { res.json(util.format('Nice to meet you %s!', name)) client.put(name, new Date().toLocaleString()) } else { res.json(util.format('Welcome back %s! Your first visit here was on %s', name, value)) } }) }) }
var infinispan = require('infinispan'); var connected = infinispan.client(11222, '127.0.0.1'); connected.then(function(client) { console.log("Connected"); var putGetPromise = client.put('key', 'value').then(function () { return client.get('key').then(function (value) { console.log('key = ' + value); }) }); return putGetPromise.finally(function() { // Regardless of the result, disconnect client return client.disconnect().then(function() { console.log("Disconnected") }); }); });
exports.putEntry = function (req, res) { console.log('Operating with Infinispan api.ispn.putEntry....' + "key: " + req.body.keyToPut + " val: " + req.body.valueToPut + " node: " + req.body.nodeToPut); // TODO -- user decides node / port var connected = infinispan.client({port: 11222, host: '127.0.0.1'}); connected.then(function (client) { var members = client.getTopologyInfo().getMembers(); // Should show all cluster members console.log('***** Connected to MEMBERS: ' + JSON.stringify(members) + ' members size ' + members.length); if (req.body.putNumber === undefined || req.body.putNumber == null) { var clientPut = client.put(req.body.keyToPut, req.body.valueToPut); } else { var data = []; var rndNum = Math.floor((Math.random() * 10000) + 1); for (i = 0; i < parseInt(req.body.putNumber); i++) { data[i] = {key: 'k' + (rndNum + i).toString(), value: rndNum.toString()}; } var clientPut = client.putAll(data); } var clientStats = clientPut.then( function () { return client.stats(); }); var showStats = clientStats.then( function (stats) { // TODO: put this stuff into standalone function var nodeElements = []; var promises = []; for (i = 0; i < members.length; i++) { promises[i] = updateJsonForChart(members[i]); } // each promise returns a nodeElement RSVP.all(promises).then(function (nodeElements) { // nodeElements now contains an array of results for the given promises // gather all results, continue var newJson = { "name": "flare", "children": [ { "name": "Infinispan Cluster", "children": nodeElements } ] }; jsonfile.writeFile(file, newJson, function (err) { console.error(err); }); // after JSON file update, return to client res.send({error: 0, jsonObjects: { currentNumberOfEntries: stats.currentNumberOfEntries, clusterMembers: members}}, 201); }).catch(function (reason) { console.log("At least one of the promises FAILED: " + reason); }); }); return showStats.finally( function () { return client.disconnect(); }); }).catch(function (error) { console.log("***** Got error putEntry: " + error.message); }); };
exports.initZoomableChart = function (req, res) { console.log('Operating with Infinispan api.ispn.initZoomableChart.... '); var connected = infinispan.client({port: 11222, host: '127.0.0.1'}); connected.then(function (client) { var members = client.getTopologyInfo().getMembers(); var clientStats = client.stats(); var showStats = clientStats.then( function (stats) { // TODO: put this stuff into standalone function var nodeElements = []; var promises = []; for (i = 0; i < members.length; i++) { promises[i] = updateJsonForChart(members[i]); } // each promise returns a nodeElement RSVP.all(promises).then(function (nodeElements) { // nodeElements now contains an array of results for the given promises // gather all results, continue var newJson = { "name": "flare", "children": [ { "name": "Infinispan Cluster", "children": nodeElements } ] }; jsonfile.writeFile(file, newJson, function (err) { console.error(err); }); // after JSON file update, return to client res.send({error: 0, jsonObjects: { currentNumberOfEntries: stats.currentNumberOfEntries, clusterMembers: members}}, 201); }).catch(function (reason) { console.log("At least one of the promises FAILED: " + reason); }); }); }).catch(function (error) { console.log("***** Got error initZoomableChart: " + error.message); connected.then(function (client) { return client.clear(); }).catch(function (error) { console.log("***** Got error initZoomableChart: " + error.message); }).finally(function (client) { return client.disconnect(); }); }); };