Skip to content

Commit 1f5a909

Browse files
committed
jdbc endurance test
1 parent 3e974ea commit 1f5a909

File tree

6 files changed

+47
-6
lines changed

6 files changed

+47
-6
lines changed

lib/nodeJavaBridge.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@ var binaryPath = path.resolve(path.join(__dirname, "../build/Release/nodejavabri
55
var bindings = require(binaryPath);
66

77
var java = module.exports = new bindings.Java();
8-
java.classpath.push(__dirname + "/../commons-lang3-node-java.jar");
9-
java.classpath.push(__dirname + "/../src-java");
8+
java.classpath.push(path.resolve(__dirname, "../commons-lang3-node-java.jar"));
9+
java.classpath.push(path.resolve(__dirname, __dirname, "../src-java"));
1010
java.nativeBindingLocation = binaryPath;
1111

1212
var MODIFIER_PUBLIC = 1;
1313
var MODIFIER_STATIC = 8;
1414

15-
java.import = function (name) {
15+
java.import = function(name) {
1616
var clazz = java.findClassSync(name); // TODO: change to Class.forName when classloader issue is resolved.
17-
var result = function () {
17+
var result = function() {
1818
var args = [name];
1919
for (var i = 0; i < arguments.length; i++) {
2020
args.push(arguments[i]);
@@ -29,10 +29,10 @@ java.import = function (name) {
2929
if (((fields[i].getModifiersSync() & MODIFIER_PUBLIC) === MODIFIER_PUBLIC)
3030
&& ((fields[i].getModifiersSync() & MODIFIER_STATIC) === MODIFIER_STATIC)) {
3131
var fieldName = fields[i].getNameSync();
32-
result.__defineGetter__(fieldName, function (name, fieldName) {
32+
result.__defineGetter__(fieldName, function(name, fieldName) {
3333
return java.getStaticFieldValue(name, fieldName);
3434
}.bind(this, name, fieldName));
35-
result.__defineSetter__(fieldName, function (name, fieldName, val) {
35+
result.__defineSetter__(fieldName, function(name, fieldName, val) {
3636
java.setStaticFieldValue(name, fieldName, val);
3737
}.bind(this, name, fieldName));
3838
}

src/java.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ v8::Handle<v8::Value> Java::createJVM(JavaVM** jvm, JNIEnv** env) {
131131
// create vm options
132132
int vmOptionsCount = optionsArray->Length() + 1;
133133
JavaVMOption* vmOptions = new JavaVMOption[vmOptionsCount];
134+
//printf("classPath: %s\n", classPath.str().c_str());
134135
vmOptions[0].optionString = strdup(classPath.str().c_str());
135136
for(uint32_t i=0; i<optionsArray->Length(); i++) {
136137
v8::Local<v8::Value> arrayItemValue = optionsArray->Get(i);
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
'use strict';
2+
3+
//var dbServerName = '';
4+
//var dbPort = 1433;
5+
//var dbName = '';
6+
//var dbUserId = '';
7+
//var dbPassword = '';
8+
//var dbConnectString = 'jdbc:sqlserver://' + dbServerName + ':' + dbPort + ';databaseName=' + dbName + ';selectMethod=direct;responseBuffering=adaptive;packetSize=0;programName=nodeJavaTest;hostProcess=nodeJavaTest;sendStringParametersAsUnicode=false;';
9+
//var dbConnectionClass = 'com.microsoft.sqlserver.jdbc.SQLServerDriver';
10+
11+
var dbUserId = 'test';
12+
var dbPassword = 'test';
13+
var dbConnectString = "jdbc:mysql://localhost/test";
14+
var dbConnectionClass = 'com.mysql.jdbc.Driver';
15+
16+
var path = require('path');
17+
var java = require('../../');
18+
java.classpath.push(path.join(__dirname, 'sqljdbc4.jar'));
19+
java.classpath.push(path.join(__dirname, 'mysql-connector-java-5.1.22-bin.jar'));
20+
var DriverManager = java.import('java.sql.DriverManager');
21+
22+
var loopCount = 0;
23+
while (true) {
24+
console.log('loopCount:', loopCount);
25+
java.findClassSync(dbConnectionClass);
26+
var conn = DriverManager.getConnectionSync(dbConnectString, dbUserId, dbPassword);
27+
console.log("connected");
28+
var statement = conn.createStatementSync();
29+
var queryString = "select * from Person";
30+
var rs = statement.executeQuerySync(queryString);
31+
var metaData = rs.getMetaDataSync();
32+
var columnCount = metaData.getColumnCountSync();
33+
while (rs.nextSync()) {
34+
for(var i=1; i<=columnCount; i++) {
35+
console.log(rs.getObjectSync(i));
36+
}
37+
}
38+
conn.closeSync();
39+
loopCount++;
40+
}
813 KB
Binary file not shown.

testIntegration/jdbc/sqljdbc.jar

550 KB
Binary file not shown.

testIntegration/jdbc/sqljdbc4.jar

571 KB
Binary file not shown.

0 commit comments

Comments
 (0)