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