diff --git a/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/ai/cloud/skywalking/plugin/jdbc/TracingDriver.java b/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/ai/cloud/skywalking/plugin/jdbc/TracingDriver.java
index 4634e1ad8c462cb7f16515719c8af752cb665fdf..2c6897f593a320e3780362f146b318e44ccab31e 100755
--- a/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/ai/cloud/skywalking/plugin/jdbc/TracingDriver.java
+++ b/skywalking-sdk-plugin/jdbc-plugin/src/main/java/com/ai/cloud/skywalking/plugin/jdbc/TracingDriver.java
@@ -67,11 +67,11 @@ public class TracingDriver implements Driver {
}
public int getMajorVersion() {
- return safeIntParse("1");
+ return 1;
}
public int getMinorVersion() {
- return safeIntParse("0");
+ return 0;
}
public boolean jdbcCompliant() {
@@ -82,14 +82,6 @@ public class TracingDriver implements Driver {
return null;
}
- private static int safeIntParse(String intAsString) {
- try {
- return Integer.parseInt(intAsString);
- } catch (NumberFormatException nfe) {
- }
- return 0;
- }
-
static class DriverChooser {
private static org.apache.logging.log4j.Logger logger = LogManager.getLogger(DriverChooser.class);
diff --git a/test/skywalking-agent-test/jdbc-test/pom.xml b/test/skywalking-agent-test/jdbc-test/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1451df09dec1c3ccdba7274545670defc3b0c172
--- /dev/null
+++ b/test/skywalking-agent-test/jdbc-test/pom.xml
@@ -0,0 +1,42 @@
+
+
+ skywalking-agent-test
+ com.ai.cloud
+ 1.0-Final
+
+
+ 4.0.0
+
+ jdbc-test
+ jar
+
+ jdbc-test
+ http://maven.apache.org
+
+
+
+ Company
+ http://10.1.228.199:18081/nexus/content/groups/public/
+
+
+
+
+ UTF-8
+
+
+
+
+ mysql
+ mysql-connector-java
+ 5.1.36
+ test
+
+
+ com.oracle
+ ojdbc14
+ 10.2.0.4.0
+ test
+
+
+
diff --git a/test/skywalking-agent-test/jdbc-test/src/test/java/com/ai/cloud/skywalking/agent/test/mysql/JDBCPluginTest.java b/test/skywalking-agent-test/jdbc-test/src/test/java/com/ai/cloud/skywalking/agent/test/mysql/JDBCPluginTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..95c85eb6de370bd96a1d14737786d9c972dedc8d
--- /dev/null
+++ b/test/skywalking-agent-test/jdbc-test/src/test/java/com/ai/cloud/skywalking/agent/test/mysql/JDBCPluginTest.java
@@ -0,0 +1,57 @@
+package com.ai.cloud.skywalking.agent.test.mysql;
+
+import com.ai.skywalking.testframework.api.TraceTreeAssert;
+import org.junit.Test;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+
+/**
+ * Created by xin on 16-6-15.
+ */
+public class JDBCPluginTest {
+
+ @Test
+ public void testMysqlJDBC() throws ClassNotFoundException, SQLException {
+ Class.forName("com.mysql.jdbc.Driver");
+ String url = "jdbc:mysql://127.0.0.1:3306/test?user=root&password=root";
+ Connection con = DriverManager.getConnection(url);
+ con.setAutoCommit(false);
+
+ PreparedStatement p0 = con.prepareStatement("select 1 from dual where 1=?");
+ p0.setInt(1, 1);
+ p0.execute();
+ con.commit();
+ con.close();
+ TraceTreeAssert.assertEquals(new String[][]{
+ {"0", "jdbc:mysql://127.0.0.1:3306/test?user=root&password=root(null)", "preaparedStatement.executeUpdate:select 1 from dual where 1=?"},
+ {"0", "jdbc:mysql://127.0.0.1:3306/test?user=root&password=root(null)", "connection.commit"},
+ {"0", "jdbc:mysql://127.0.0.1:3306/test?user=root&password=root(null)", "connection.close"},
+ }, true);
+
+ TraceTreeAssert.clearTraceData();
+ }
+
+ @Test
+ public void testOracleJDBC() throws ClassNotFoundException, SQLException {
+ Class.forName("oracle.jdbc.driver.OracleDriver");
+ String url = "jdbc:oracle:thin:@10.1.130.239:1521:ora";
+ Connection con = DriverManager.getConnection(url, "edc_export", "edc_export");
+ con.setAutoCommit(false);
+
+ PreparedStatement p0 = con.prepareStatement("select 1 from dual where 1=?");
+ p0.setInt(1, 1);
+ p0.execute();
+ con.commit();
+ con.close();
+ TraceTreeAssert.assertEquals(new String[][]{
+ {"0", "jdbc:oracle:thin:@10.1.130.239:1521:ora(edc_export)", "preaparedStatement.executeUpdate:select 1 from dual where 1=?"},
+ {"0", "jdbc:oracle:thin:@10.1.130.239:1521:ora(edc_export)", "connection.commit"},
+ {"0", "jdbc:oracle:thin:@10.1.130.239:1521:ora(edc_export)", "connection.close"},
+ }, true);
+
+ TraceTreeAssert.clearTraceData();
+ }
+}
diff --git a/skywalking-agent/src/main/resources/log4j2.xml b/test/skywalking-agent-test/jdbc-test/src/test/resources/log4j2.xml
similarity index 100%
rename from skywalking-agent/src/main/resources/log4j2.xml
rename to test/skywalking-agent-test/jdbc-test/src/test/resources/log4j2.xml
diff --git a/test/skywalking-agent-test/jdbc-test/src/test/resources/sky-walking.auth b/test/skywalking-agent-test/jdbc-test/src/test/resources/sky-walking.auth
new file mode 100644
index 0000000000000000000000000000000000000000..e04d0d3382a6952e4f0057891188a88788a3332b
--- /dev/null
+++ b/test/skywalking-agent-test/jdbc-test/src/test/resources/sky-walking.auth
@@ -0,0 +1,19 @@
+buriedpoint.businesskey_max_length=300
+sender.retry_get_sender_wait_interval=2000
+buffer.pool_size=5
+senderchecker.check_polling_time=200
+sender.max_send_length=20000
+consumer.max_consumer=0
+consumer.max_wait_time=5
+sender.max_copy_num=2
+skywalking.application_code=jdbc-plugin-test
+consumer.consumer_fail_retry_wait_interval=50
+skywalking.user_id=6
+buriedpoint.printf=true
+buriedpoint.exclusive_exceptions=
+buriedpoint.max_exception_stack_length=4000
+sender.connect_percent=100
+buffer.buffer_max_size=18000
+sender.servers_addr=10.1.235.197:34000;10.1.235.197:35000;
+skywalking.sdk_version=1.0a2
+skywalking.auth_override=true
\ No newline at end of file
diff --git a/test/skywalking-agent-test/pom.xml b/test/skywalking-agent-test/pom.xml
index 152268942d9bca5c45029500690b3314863ac445..0a314e0adf11430b217905476b67bd36b2f731cd 100644
--- a/test/skywalking-agent-test/pom.xml
+++ b/test/skywalking-agent-test/pom.xml
@@ -12,6 +12,7 @@
redis-test
+ jdbc-test
@@ -28,7 +29,13 @@
org.apache.logging.log4j
log4j-core
- 2.4.1
+ 2.6
+
+
+ com.ai.cloud
+ skywalking-test-api
+ 1.0-Final
+ test