81 lines
2.1 KiB
JavaScript
81 lines
2.1 KiB
JavaScript
/*
|
|
Copyright (c) 2013, Oracle and/or its affiliates. All rights
|
|
reserved.
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License
|
|
as published by the Free Software Foundation; version 2 of
|
|
the License.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
02110-1301 USA
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
var sys = require('util'),
|
|
http = require('http'),
|
|
mynode = require(".."),
|
|
stats = require("../Adapter/api/stats");
|
|
|
|
function startWebServer(err, sessionFactory) {
|
|
function runServer(req, res) {
|
|
|
|
function onSession(err, session) {
|
|
function onClose() {};
|
|
|
|
function respond(err, data) {
|
|
if(err || ! data) {
|
|
res.writeHead(500);
|
|
console.log("find error!");
|
|
}
|
|
else {
|
|
res.writeHead(200, {'Content-Type': 'text/html'});
|
|
res.write(data.id +"\t" + data.cint + "\n");
|
|
}
|
|
res.end();
|
|
session.close(onClose);
|
|
}
|
|
|
|
if(err || !session) {
|
|
res.writeHead(500);
|
|
console.log("openSession error!");
|
|
res.end();
|
|
}
|
|
else {
|
|
session.find("a", Math.floor(Math.random()*4000), respond);
|
|
}
|
|
}
|
|
|
|
/* runServer() starts here */
|
|
sessionFactory.openSession(null, onSession);
|
|
}
|
|
|
|
/* startWebServer() starts here */
|
|
http.createServer(runServer).listen(8080);
|
|
console.log("Server started");
|
|
}
|
|
|
|
function showStatsOnExit() {
|
|
stats.peek();
|
|
process.exit(0);
|
|
}
|
|
|
|
function main() {
|
|
var properties = new mynode.ConnectionProperties(process.argv[2]);
|
|
properties.database = "jscrund";
|
|
properties.mysql_user = "root";
|
|
process.on('SIGINT', showStatsOnExit);
|
|
process.on('SIGUSR1', stats.peek);
|
|
mynode.connect(properties, null, startWebServer);
|
|
}
|
|
|
|
main();
|