diff --git a/test/plugin/scenarios/shardingsphere-3.x-scenario/pom.xml b/test/plugin/scenarios/shardingsphere-3.x-scenario/pom.xml
index 4fc681d6b..2955a71e1 100644
--- a/test/plugin/scenarios/shardingsphere-3.x-scenario/pom.xml
+++ b/test/plugin/scenarios/shardingsphere-3.x-scenario/pom.xml
@@ -45,11 +45,6 @@
sharding-jdbc-core
${test.framework.version}
-
- commons-dbcp
- commons-dbcp
- 1.4
-
org.springframework.boot
spring-boot-starter
diff --git a/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java b/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java
index 3663ead8f..b091f75d7 100644
--- a/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java
+++ b/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java
@@ -18,13 +18,6 @@
package org.apache.skywalking.apm.testcase.shardingsphere;
-import javax.sql.DataSource;
-import org.apache.skywalking.apm.testcase.shardingsphere.service.api.service.CommonService;
-import org.apache.skywalking.apm.testcase.shardingsphere.service.config.ShardingDatabasesAndTablesConfigurationPrecise;
-import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.jdbc.JDBCOrderItemRepositoryImpl;
-import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.jdbc.JDBCOrderRepositoryImpl;
-import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.service.RawPojoService;
-import org.apache.skywalking.apm.testcase.shardingsphere.service.utility.config.DataSourceUtil;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.support.SpringBootServletInitializer;
@@ -33,18 +26,6 @@ import org.springframework.boot.web.support.SpringBootServletInitializer;
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
- try {
- DataSourceUtil.createDataSource("");
- DataSourceUtil.createSchema("demo_ds_0");
- DataSourceUtil.createSchema("demo_ds_1");
- DataSourceUtil.createDataSource("demo_ds_0");
- DataSourceUtil.createDataSource("demo_ds_1");
- DataSource dataSource = new ShardingDatabasesAndTablesConfigurationPrecise().createDataSource();
- CommonService commonService = new RawPojoService(new JDBCOrderRepositoryImpl(dataSource), new JDBCOrderItemRepositoryImpl(dataSource));
- commonService.initEnvironment();
- SpringApplication.run(Application.class, args);
- } catch (Exception e) {
- // Never do this
- }
+ SpringApplication.run(Application.class, args);
}
}
diff --git a/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java b/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java
index bf807de4a..90a1db12f 100644
--- a/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java
+++ b/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java
@@ -18,32 +18,42 @@
package org.apache.skywalking.apm.testcase.shardingsphere.controller;
-import java.sql.SQLException;
-import javax.sql.DataSource;
import org.apache.skywalking.apm.testcase.shardingsphere.service.api.service.CommonService;
import org.apache.skywalking.apm.testcase.shardingsphere.service.config.ShardingDatabasesAndTablesConfigurationPrecise;
import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.jdbc.JDBCOrderItemRepositoryImpl;
import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.jdbc.JDBCOrderRepositoryImpl;
import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.service.RawPojoService;
+import org.apache.skywalking.apm.testcase.shardingsphere.service.utility.config.DataSourceUtil;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
+import javax.sql.DataSource;
+import java.sql.SQLException;
+
@RestController
@RequestMapping("/case")
public class CaseController {
+
+ private CommonService commonService = null;
@RequestMapping("/healthCheck")
@ResponseBody
- public String healthCheck() {
+ public String healthCheck() throws SQLException {
+ DataSourceUtil.createDataSource("");
+ DataSourceUtil.createSchema("demo_ds_0");
+ DataSourceUtil.createSchema("demo_ds_1");
+ DataSourceUtil.createDataSource("demo_ds_0");
+ DataSourceUtil.createDataSource("demo_ds_1");
+ DataSource dataSource = new ShardingDatabasesAndTablesConfigurationPrecise().createDataSource();
+ commonService = new RawPojoService(new JDBCOrderRepositoryImpl(dataSource), new JDBCOrderItemRepositoryImpl(dataSource));
+ commonService.initEnvironment();
return "Success";
}
@RequestMapping("/execute")
@ResponseBody
- public String execute() throws SQLException {
- DataSource dataSource = new ShardingDatabasesAndTablesConfigurationPrecise().getDataSource();
- CommonService commonService = new RawPojoService(new JDBCOrderRepositoryImpl(dataSource), new JDBCOrderItemRepositoryImpl(dataSource));
+ public String execute() {
commonService.processSuccess(false);
return "Success";
}
diff --git a/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java b/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java
index e54486f71..b99d44057 100644
--- a/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java
+++ b/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java
@@ -32,15 +32,18 @@ import org.apache.skywalking.apm.testcase.shardingsphere.service.api.repository.
public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
private final DataSource dataSource;
+
+ private final Connection connection;
- public JDBCOrderItemRepositoryImpl(final DataSource dataSource) {
+ public JDBCOrderItemRepositoryImpl(final DataSource dataSource) throws SQLException {
this.dataSource = dataSource;
+ this.connection = dataSource.getConnection();
}
@Override
public void createTableIfNotExists() {
String sql = "CREATE TABLE IF NOT EXISTS t_order_item " + "(order_item_id BIGINT NOT NULL AUTO_INCREMENT, order_id BIGINT NOT NULL, user_id INT NOT NULL, status VARCHAR(50), PRIMARY KEY (order_item_id))";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -49,7 +52,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public void dropTable() {
String sql = "DROP TABLE t_order_item";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -58,7 +61,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public void truncateTable() {
String sql = "TRUNCATE TABLE t_order_item";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -67,7 +70,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public Long insert(final OrderItem orderItem) {
String sql = "INSERT INTO t_order_item (order_id, user_id, status) VALUES (?, ?, ?)";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
preparedStatement.setLong(1, orderItem.getOrderId());
preparedStatement.setInt(2, orderItem.getUserId());
preparedStatement.setString(3, orderItem.getStatus());
@@ -85,7 +88,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public void delete(final Long orderItemId) {
String sql = "DELETE FROM t_order_item WHERE order_item_id=?";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
preparedStatement.setLong(1, orderItemId);
preparedStatement.executeUpdate(sql);
} catch (final SQLException ignored) {
@@ -106,7 +109,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
private List getOrderItems(final String sql) {
List result = new LinkedList<>();
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
.executeQuery()) {
while (resultSet.next()) {
OrderItem orderItem = new OrderItem();
diff --git a/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java b/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java
index 2a66c0dc7..dc4c80dd9 100644
--- a/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java
+++ b/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java
@@ -32,15 +32,18 @@ import org.apache.skywalking.apm.testcase.shardingsphere.service.api.repository.
public final class JDBCOrderRepositoryImpl implements OrderRepository {
private final DataSource dataSource;
+
+ private final Connection connection;
- public JDBCOrderRepositoryImpl(final DataSource dataSource) {
+ public JDBCOrderRepositoryImpl(final DataSource dataSource) throws SQLException {
this.dataSource = dataSource;
+ this.connection = dataSource.getConnection();
}
@Override
public void createTableIfNotExists() {
String sql = "CREATE TABLE IF NOT EXISTS t_order (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status VARCHAR(50), PRIMARY KEY (order_id))";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -49,7 +52,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public void dropTable() {
String sql = "DROP TABLE t_order";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -58,7 +61,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public void truncateTable() {
String sql = "TRUNCATE TABLE t_order";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -67,7 +70,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public Long insert(final Order order) {
String sql = "INSERT INTO t_order (user_id, status) VALUES (?, ?)";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
preparedStatement.setInt(1, order.getUserId());
preparedStatement.setString(2, order.getStatus());
preparedStatement.executeUpdate();
@@ -84,7 +87,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public void delete(final Long orderId) {
String sql = "DELETE FROM t_order WHERE order_id=?";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
preparedStatement.setLong(1, orderId);
preparedStatement.executeUpdate();
} catch (final SQLException ignored) {
@@ -105,7 +108,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
private List getOrders(final String sql) {
List result = new LinkedList<>();
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
.executeQuery()) {
while (resultSet.next()) {
Order order = new Order();
diff --git a/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java b/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java
index dae97c4d6..688ce00c1 100644
--- a/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java
+++ b/test/plugin/scenarios/shardingsphere-3.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java
@@ -24,7 +24,7 @@ import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import javax.sql.DataSource;
-import org.apache.commons.dbcp.BasicDataSource;
+import org.h2.jdbcx.JdbcDataSource;
public class DataSourceUtil {
@@ -33,10 +33,9 @@ public class DataSourceUtil {
private static final Map datasourceMap = new HashMap<>();
public static void createDataSource(final String dataSourceName) {
- BasicDataSource result = new BasicDataSource();
- result.setDriverClassName("org.h2.Driver");
- result.setUrl(String.format("jdbc:h2:mem:%s", dataSourceName));
- result.setUsername("sa");
+ JdbcDataSource result = new JdbcDataSource();
+ result.setUrl("jdbc:h2:mem:" + dataSourceName + ";DB_CLOSE_DELAY=-1");
+ result.setUser("sa");
result.setPassword("");
datasourceMap.put(dataSourceName, result);
}
diff --git a/test/plugin/scenarios/shardingsphere-4.0.x-scenario/pom.xml b/test/plugin/scenarios/shardingsphere-4.0.x-scenario/pom.xml
index b9a578fef..ce652a876 100644
--- a/test/plugin/scenarios/shardingsphere-4.0.x-scenario/pom.xml
+++ b/test/plugin/scenarios/shardingsphere-4.0.x-scenario/pom.xml
@@ -47,11 +47,6 @@
sharding-jdbc-core
${test.framework.version}
-
- org.apache.commons
- commons-dbcp2
- 2.2.0
-
org.springframework.boot
spring-boot-starter
diff --git a/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java b/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java
index 6bda0f1f9..b091f75d7 100644
--- a/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java
+++ b/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java
@@ -18,34 +18,14 @@
package org.apache.skywalking.apm.testcase.shardingsphere;
-import org.apache.skywalking.apm.testcase.shardingsphere.service.api.service.CommonService;
-import org.apache.skywalking.apm.testcase.shardingsphere.service.config.ShardingDatabasesAndTablesConfigurationPrecise;
-import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.jdbc.JDBCOrderItemRepositoryImpl;
-import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.jdbc.JDBCOrderRepositoryImpl;
-import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.service.RawPojoService;
-import org.apache.skywalking.apm.testcase.shardingsphere.service.utility.config.DataSourceUtil;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.support.SpringBootServletInitializer;
-import javax.sql.DataSource;
-
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
- try {
- DataSourceUtil.createDataSource("");
- DataSourceUtil.createSchema("demo_ds_0");
- DataSourceUtil.createSchema("demo_ds_1");
- DataSourceUtil.createDataSource("demo_ds_0");
- DataSourceUtil.createDataSource("demo_ds_1");
- DataSource dataSource = new ShardingDatabasesAndTablesConfigurationPrecise().createDataSource();
- CommonService commonService = new RawPojoService(new JDBCOrderRepositoryImpl(dataSource), new JDBCOrderItemRepositoryImpl(dataSource));
- commonService.initEnvironment();
- SpringApplication.run(Application.class, args);
- } catch (Exception e) {
- // Never do this
- }
+ SpringApplication.run(Application.class, args);
}
}
diff --git a/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java b/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java
index ebc5f002d..90a1db12f 100644
--- a/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java
+++ b/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java
@@ -23,27 +23,37 @@ import org.apache.skywalking.apm.testcase.shardingsphere.service.config.Sharding
import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.jdbc.JDBCOrderItemRepositoryImpl;
import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.jdbc.JDBCOrderRepositoryImpl;
import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.service.RawPojoService;
+import org.apache.skywalking.apm.testcase.shardingsphere.service.utility.config.DataSourceUtil;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import javax.sql.DataSource;
+import java.sql.SQLException;
@RestController
@RequestMapping("/case")
public class CaseController {
+
+ private CommonService commonService = null;
@RequestMapping("/healthCheck")
@ResponseBody
- public String healthCheck() {
+ public String healthCheck() throws SQLException {
+ DataSourceUtil.createDataSource("");
+ DataSourceUtil.createSchema("demo_ds_0");
+ DataSourceUtil.createSchema("demo_ds_1");
+ DataSourceUtil.createDataSource("demo_ds_0");
+ DataSourceUtil.createDataSource("demo_ds_1");
+ DataSource dataSource = new ShardingDatabasesAndTablesConfigurationPrecise().createDataSource();
+ commonService = new RawPojoService(new JDBCOrderRepositoryImpl(dataSource), new JDBCOrderItemRepositoryImpl(dataSource));
+ commonService.initEnvironment();
return "Success";
}
@RequestMapping("/execute")
@ResponseBody
public String execute() {
- DataSource dataSource = new ShardingDatabasesAndTablesConfigurationPrecise().getDataSource();
- CommonService commonService = new RawPojoService(new JDBCOrderRepositoryImpl(dataSource), new JDBCOrderItemRepositoryImpl(dataSource));
commonService.processSuccess(false);
return "Success";
}
diff --git a/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java b/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java
index 4528c6ea7..3af8846b5 100644
--- a/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java
+++ b/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java
@@ -22,31 +22,39 @@ import org.apache.skywalking.apm.testcase.shardingsphere.service.api.entity.Orde
import org.apache.skywalking.apm.testcase.shardingsphere.service.api.repository.OrderItemRepository;
import javax.sql.DataSource;
-import java.sql.*;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
import java.util.LinkedList;
import java.util.List;
public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
private final DataSource dataSource;
+
+ private final Connection connection;
- public JDBCOrderItemRepositoryImpl(final DataSource dataSource) {
+ public JDBCOrderItemRepositoryImpl(final DataSource dataSource) throws SQLException {
this.dataSource = dataSource;
+ this.connection = dataSource.getConnection();
}
@Override
public void createTableIfNotExists() {
String sql = "CREATE TABLE IF NOT EXISTS t_order_item " + "(order_item_id BIGINT NOT NULL AUTO_INCREMENT, order_id BIGINT NOT NULL, user_id INT NOT NULL, status VARCHAR(50), PRIMARY KEY (order_item_id))";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
+ ignored.printStackTrace();
}
}
@Override
public void dropTable() {
String sql = "DROP TABLE t_order_item";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -55,7 +63,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public void truncateTable() {
String sql = "TRUNCATE TABLE t_order_item";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -64,7 +72,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public Long insert(final OrderItem orderItem) {
String sql = "INSERT INTO t_order_item (order_id, user_id, status) VALUES (?, ?, ?)";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
preparedStatement.setLong(1, orderItem.getOrderId());
preparedStatement.setInt(2, orderItem.getUserId());
preparedStatement.setString(3, orderItem.getStatus());
@@ -82,7 +90,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public void delete(final Long orderItemId) {
String sql = "DELETE FROM t_order_item WHERE order_item_id=?";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
preparedStatement.setLong(1, orderItemId);
preparedStatement.executeUpdate(sql);
} catch (final SQLException ignored) {
@@ -103,7 +111,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
private List getOrderItems(final String sql) {
List result = new LinkedList<>();
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
.executeQuery()) {
while (resultSet.next()) {
OrderItem orderItem = new OrderItem();
@@ -114,6 +122,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
result.add(orderItem);
}
} catch (final SQLException ignored) {
+ ignored.printStackTrace();
}
return result;
}
diff --git a/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java b/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java
index befcf6b01..7be27025d 100644
--- a/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java
+++ b/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java
@@ -29,15 +29,18 @@ import java.util.List;
public final class JDBCOrderRepositoryImpl implements OrderRepository {
private final DataSource dataSource;
+
+ private final Connection connection;
- public JDBCOrderRepositoryImpl(final DataSource dataSource) {
+ public JDBCOrderRepositoryImpl(final DataSource dataSource) throws SQLException {
this.dataSource = dataSource;
+ this.connection = dataSource.getConnection();
}
@Override
public void createTableIfNotExists() {
String sql = "CREATE TABLE IF NOT EXISTS t_order (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status VARCHAR(50), PRIMARY KEY (order_id))";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -46,7 +49,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public void dropTable() {
String sql = "DROP TABLE t_order";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -55,7 +58,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public void truncateTable() {
String sql = "TRUNCATE TABLE t_order";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -64,7 +67,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public Long insert(final Order order) {
String sql = "INSERT INTO t_order (user_id, status) VALUES (?, ?)";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
preparedStatement.setInt(1, order.getUserId());
preparedStatement.setString(2, order.getStatus());
preparedStatement.executeUpdate();
@@ -81,7 +84,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public void delete(final Long orderId) {
String sql = "DELETE FROM t_order WHERE order_id=?";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
preparedStatement.setLong(1, orderId);
preparedStatement.executeUpdate();
} catch (final SQLException ignored) {
@@ -102,7 +105,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
private List getOrders(final String sql) {
List result = new LinkedList<>();
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
.executeQuery()) {
while (resultSet.next()) {
Order order = new Order();
@@ -112,6 +115,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
result.add(order);
}
} catch (final SQLException ignored) {
+ ignored.printStackTrace();
}
return result;
}
diff --git a/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java b/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java
index 65b3f5357..383631469 100644
--- a/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java
+++ b/test/plugin/scenarios/shardingsphere-4.0.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java
@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.testcase.shardingsphere.service.utility.config;
-import org.apache.commons.dbcp2.BasicDataSource;
+import org.h2.jdbcx.JdbcDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
@@ -34,10 +34,9 @@ public class DataSourceUtil {
private static final Map datasourceMap = new HashMap<>();
public static void createDataSource(final String dataSourceName) {
- BasicDataSource result = new BasicDataSource();
- result.setDriverClassName("org.h2.Driver");
- result.setUrl(String.format("jdbc:h2:mem:%s", dataSourceName));
- result.setUsername("sa");
+ JdbcDataSource result = new JdbcDataSource();
+ result.setUrl("jdbc:h2:mem:" + dataSourceName + ";DB_CLOSE_DELAY=-1");
+ result.setUser("sa");
result.setPassword("");
datasourceMap.put(dataSourceName, result);
}
diff --git a/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/pom.xml b/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/pom.xml
index b89520b80..8ab8f5fef 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/pom.xml
+++ b/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/pom.xml
@@ -48,11 +48,6 @@
sharding-jdbc-core
${test.framework.version}
-
- commons-dbcp
- commons-dbcp
- 1.4
-
org.springframework.boot
spring-boot-starter
diff --git a/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java b/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java
index 3663ead8f..213696a84 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java
+++ b/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java
@@ -34,14 +34,7 @@ public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
try {
- DataSourceUtil.createDataSource("");
- DataSourceUtil.createSchema("demo_ds_0");
- DataSourceUtil.createSchema("demo_ds_1");
- DataSourceUtil.createDataSource("demo_ds_0");
- DataSourceUtil.createDataSource("demo_ds_1");
- DataSource dataSource = new ShardingDatabasesAndTablesConfigurationPrecise().createDataSource();
- CommonService commonService = new RawPojoService(new JDBCOrderRepositoryImpl(dataSource), new JDBCOrderItemRepositoryImpl(dataSource));
- commonService.initEnvironment();
+
SpringApplication.run(Application.class, args);
} catch (Exception e) {
// Never do this
diff --git a/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java b/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java
index bf807de4a..33ccf6f5b 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java
+++ b/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java
@@ -25,6 +25,7 @@ import org.apache.skywalking.apm.testcase.shardingsphere.service.config.Sharding
import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.jdbc.JDBCOrderItemRepositoryImpl;
import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.jdbc.JDBCOrderRepositoryImpl;
import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.service.RawPojoService;
+import org.apache.skywalking.apm.testcase.shardingsphere.service.utility.config.DataSourceUtil;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@@ -32,18 +33,26 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/case")
public class CaseController {
+
+ private CommonService commonService = null;
@RequestMapping("/healthCheck")
@ResponseBody
- public String healthCheck() {
+ public String healthCheck() throws SQLException {
+ DataSourceUtil.createDataSource("");
+ DataSourceUtil.createSchema("demo_ds_0");
+ DataSourceUtil.createSchema("demo_ds_1");
+ DataSourceUtil.createDataSource("demo_ds_0");
+ DataSourceUtil.createDataSource("demo_ds_1");
+ DataSource dataSource = new ShardingDatabasesAndTablesConfigurationPrecise().createDataSource();
+ commonService = new RawPojoService(new JDBCOrderRepositoryImpl(dataSource), new JDBCOrderItemRepositoryImpl(dataSource));
+ commonService.initEnvironment();
return "Success";
}
@RequestMapping("/execute")
@ResponseBody
- public String execute() throws SQLException {
- DataSource dataSource = new ShardingDatabasesAndTablesConfigurationPrecise().getDataSource();
- CommonService commonService = new RawPojoService(new JDBCOrderRepositoryImpl(dataSource), new JDBCOrderItemRepositoryImpl(dataSource));
+ public String execute() {
commonService.processSuccess(false);
return "Success";
}
diff --git a/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java b/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java
index e54486f71..b99d44057 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java
+++ b/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java
@@ -32,15 +32,18 @@ import org.apache.skywalking.apm.testcase.shardingsphere.service.api.repository.
public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
private final DataSource dataSource;
+
+ private final Connection connection;
- public JDBCOrderItemRepositoryImpl(final DataSource dataSource) {
+ public JDBCOrderItemRepositoryImpl(final DataSource dataSource) throws SQLException {
this.dataSource = dataSource;
+ this.connection = dataSource.getConnection();
}
@Override
public void createTableIfNotExists() {
String sql = "CREATE TABLE IF NOT EXISTS t_order_item " + "(order_item_id BIGINT NOT NULL AUTO_INCREMENT, order_id BIGINT NOT NULL, user_id INT NOT NULL, status VARCHAR(50), PRIMARY KEY (order_item_id))";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -49,7 +52,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public void dropTable() {
String sql = "DROP TABLE t_order_item";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -58,7 +61,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public void truncateTable() {
String sql = "TRUNCATE TABLE t_order_item";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -67,7 +70,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public Long insert(final OrderItem orderItem) {
String sql = "INSERT INTO t_order_item (order_id, user_id, status) VALUES (?, ?, ?)";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
preparedStatement.setLong(1, orderItem.getOrderId());
preparedStatement.setInt(2, orderItem.getUserId());
preparedStatement.setString(3, orderItem.getStatus());
@@ -85,7 +88,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public void delete(final Long orderItemId) {
String sql = "DELETE FROM t_order_item WHERE order_item_id=?";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
preparedStatement.setLong(1, orderItemId);
preparedStatement.executeUpdate(sql);
} catch (final SQLException ignored) {
@@ -106,7 +109,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
private List getOrderItems(final String sql) {
List result = new LinkedList<>();
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
.executeQuery()) {
while (resultSet.next()) {
OrderItem orderItem = new OrderItem();
diff --git a/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java b/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java
index 2a66c0dc7..dc4c80dd9 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java
+++ b/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java
@@ -32,15 +32,18 @@ import org.apache.skywalking.apm.testcase.shardingsphere.service.api.repository.
public final class JDBCOrderRepositoryImpl implements OrderRepository {
private final DataSource dataSource;
+
+ private final Connection connection;
- public JDBCOrderRepositoryImpl(final DataSource dataSource) {
+ public JDBCOrderRepositoryImpl(final DataSource dataSource) throws SQLException {
this.dataSource = dataSource;
+ this.connection = dataSource.getConnection();
}
@Override
public void createTableIfNotExists() {
String sql = "CREATE TABLE IF NOT EXISTS t_order (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status VARCHAR(50), PRIMARY KEY (order_id))";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -49,7 +52,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public void dropTable() {
String sql = "DROP TABLE t_order";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -58,7 +61,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public void truncateTable() {
String sql = "TRUNCATE TABLE t_order";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -67,7 +70,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public Long insert(final Order order) {
String sql = "INSERT INTO t_order (user_id, status) VALUES (?, ?)";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
preparedStatement.setInt(1, order.getUserId());
preparedStatement.setString(2, order.getStatus());
preparedStatement.executeUpdate();
@@ -84,7 +87,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public void delete(final Long orderId) {
String sql = "DELETE FROM t_order WHERE order_id=?";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
preparedStatement.setLong(1, orderId);
preparedStatement.executeUpdate();
} catch (final SQLException ignored) {
@@ -105,7 +108,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
private List getOrders(final String sql) {
List result = new LinkedList<>();
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
.executeQuery()) {
while (resultSet.next()) {
Order order = new Order();
diff --git a/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java b/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java
index dae97c4d6..688ce00c1 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java
+++ b/test/plugin/scenarios/shardingsphere-4.x-RC1-RC2-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java
@@ -24,7 +24,7 @@ import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import javax.sql.DataSource;
-import org.apache.commons.dbcp.BasicDataSource;
+import org.h2.jdbcx.JdbcDataSource;
public class DataSourceUtil {
@@ -33,10 +33,9 @@ public class DataSourceUtil {
private static final Map datasourceMap = new HashMap<>();
public static void createDataSource(final String dataSourceName) {
- BasicDataSource result = new BasicDataSource();
- result.setDriverClassName("org.h2.Driver");
- result.setUrl(String.format("jdbc:h2:mem:%s", dataSourceName));
- result.setUsername("sa");
+ JdbcDataSource result = new JdbcDataSource();
+ result.setUrl("jdbc:h2:mem:" + dataSourceName + ";DB_CLOSE_DELAY=-1");
+ result.setUser("sa");
result.setPassword("");
datasourceMap.put(dataSourceName, result);
}
diff --git a/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/pom.xml b/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/pom.xml
index 3954b166b..6e2615a9b 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/pom.xml
+++ b/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/pom.xml
@@ -48,11 +48,6 @@
sharding-jdbc-core
${test.framework.version}
-
- commons-dbcp
- commons-dbcp
- 1.4
-
org.springframework.boot
spring-boot-starter
diff --git a/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java b/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java
index 3663ead8f..213696a84 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java
+++ b/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java
@@ -34,14 +34,7 @@ public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
try {
- DataSourceUtil.createDataSource("");
- DataSourceUtil.createSchema("demo_ds_0");
- DataSourceUtil.createSchema("demo_ds_1");
- DataSourceUtil.createDataSource("demo_ds_0");
- DataSourceUtil.createDataSource("demo_ds_1");
- DataSource dataSource = new ShardingDatabasesAndTablesConfigurationPrecise().createDataSource();
- CommonService commonService = new RawPojoService(new JDBCOrderRepositoryImpl(dataSource), new JDBCOrderItemRepositoryImpl(dataSource));
- commonService.initEnvironment();
+
SpringApplication.run(Application.class, args);
} catch (Exception e) {
// Never do this
diff --git a/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java b/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java
index bf807de4a..33ccf6f5b 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java
+++ b/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java
@@ -25,6 +25,7 @@ import org.apache.skywalking.apm.testcase.shardingsphere.service.config.Sharding
import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.jdbc.JDBCOrderItemRepositoryImpl;
import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.jdbc.JDBCOrderRepositoryImpl;
import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.service.RawPojoService;
+import org.apache.skywalking.apm.testcase.shardingsphere.service.utility.config.DataSourceUtil;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@@ -32,18 +33,26 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/case")
public class CaseController {
+
+ private CommonService commonService = null;
@RequestMapping("/healthCheck")
@ResponseBody
- public String healthCheck() {
+ public String healthCheck() throws SQLException {
+ DataSourceUtil.createDataSource("");
+ DataSourceUtil.createSchema("demo_ds_0");
+ DataSourceUtil.createSchema("demo_ds_1");
+ DataSourceUtil.createDataSource("demo_ds_0");
+ DataSourceUtil.createDataSource("demo_ds_1");
+ DataSource dataSource = new ShardingDatabasesAndTablesConfigurationPrecise().createDataSource();
+ commonService = new RawPojoService(new JDBCOrderRepositoryImpl(dataSource), new JDBCOrderItemRepositoryImpl(dataSource));
+ commonService.initEnvironment();
return "Success";
}
@RequestMapping("/execute")
@ResponseBody
- public String execute() throws SQLException {
- DataSource dataSource = new ShardingDatabasesAndTablesConfigurationPrecise().getDataSource();
- CommonService commonService = new RawPojoService(new JDBCOrderRepositoryImpl(dataSource), new JDBCOrderItemRepositoryImpl(dataSource));
+ public String execute() {
commonService.processSuccess(false);
return "Success";
}
diff --git a/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java b/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java
index e54486f71..b99d44057 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java
+++ b/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java
@@ -32,15 +32,18 @@ import org.apache.skywalking.apm.testcase.shardingsphere.service.api.repository.
public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
private final DataSource dataSource;
+
+ private final Connection connection;
- public JDBCOrderItemRepositoryImpl(final DataSource dataSource) {
+ public JDBCOrderItemRepositoryImpl(final DataSource dataSource) throws SQLException {
this.dataSource = dataSource;
+ this.connection = dataSource.getConnection();
}
@Override
public void createTableIfNotExists() {
String sql = "CREATE TABLE IF NOT EXISTS t_order_item " + "(order_item_id BIGINT NOT NULL AUTO_INCREMENT, order_id BIGINT NOT NULL, user_id INT NOT NULL, status VARCHAR(50), PRIMARY KEY (order_item_id))";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -49,7 +52,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public void dropTable() {
String sql = "DROP TABLE t_order_item";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -58,7 +61,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public void truncateTable() {
String sql = "TRUNCATE TABLE t_order_item";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -67,7 +70,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public Long insert(final OrderItem orderItem) {
String sql = "INSERT INTO t_order_item (order_id, user_id, status) VALUES (?, ?, ?)";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
preparedStatement.setLong(1, orderItem.getOrderId());
preparedStatement.setInt(2, orderItem.getUserId());
preparedStatement.setString(3, orderItem.getStatus());
@@ -85,7 +88,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public void delete(final Long orderItemId) {
String sql = "DELETE FROM t_order_item WHERE order_item_id=?";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
preparedStatement.setLong(1, orderItemId);
preparedStatement.executeUpdate(sql);
} catch (final SQLException ignored) {
@@ -106,7 +109,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
private List getOrderItems(final String sql) {
List result = new LinkedList<>();
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
.executeQuery()) {
while (resultSet.next()) {
OrderItem orderItem = new OrderItem();
diff --git a/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java b/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java
index 2a66c0dc7..dc4c80dd9 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java
+++ b/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java
@@ -32,15 +32,18 @@ import org.apache.skywalking.apm.testcase.shardingsphere.service.api.repository.
public final class JDBCOrderRepositoryImpl implements OrderRepository {
private final DataSource dataSource;
+
+ private final Connection connection;
- public JDBCOrderRepositoryImpl(final DataSource dataSource) {
+ public JDBCOrderRepositoryImpl(final DataSource dataSource) throws SQLException {
this.dataSource = dataSource;
+ this.connection = dataSource.getConnection();
}
@Override
public void createTableIfNotExists() {
String sql = "CREATE TABLE IF NOT EXISTS t_order (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status VARCHAR(50), PRIMARY KEY (order_id))";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -49,7 +52,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public void dropTable() {
String sql = "DROP TABLE t_order";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -58,7 +61,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public void truncateTable() {
String sql = "TRUNCATE TABLE t_order";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -67,7 +70,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public Long insert(final Order order) {
String sql = "INSERT INTO t_order (user_id, status) VALUES (?, ?)";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
preparedStatement.setInt(1, order.getUserId());
preparedStatement.setString(2, order.getStatus());
preparedStatement.executeUpdate();
@@ -84,7 +87,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public void delete(final Long orderId) {
String sql = "DELETE FROM t_order WHERE order_id=?";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
preparedStatement.setLong(1, orderId);
preparedStatement.executeUpdate();
} catch (final SQLException ignored) {
@@ -105,7 +108,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
private List getOrders(final String sql) {
List result = new LinkedList<>();
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
.executeQuery()) {
while (resultSet.next()) {
Order order = new Order();
diff --git a/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java b/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java
index dae97c4d6..688ce00c1 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java
+++ b/test/plugin/scenarios/shardingsphere-4.x-RC3-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java
@@ -24,7 +24,7 @@ import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import javax.sql.DataSource;
-import org.apache.commons.dbcp.BasicDataSource;
+import org.h2.jdbcx.JdbcDataSource;
public class DataSourceUtil {
@@ -33,10 +33,9 @@ public class DataSourceUtil {
private static final Map datasourceMap = new HashMap<>();
public static void createDataSource(final String dataSourceName) {
- BasicDataSource result = new BasicDataSource();
- result.setDriverClassName("org.h2.Driver");
- result.setUrl(String.format("jdbc:h2:mem:%s", dataSourceName));
- result.setUsername("sa");
+ JdbcDataSource result = new JdbcDataSource();
+ result.setUrl("jdbc:h2:mem:" + dataSourceName + ";DB_CLOSE_DELAY=-1");
+ result.setUser("sa");
result.setPassword("");
datasourceMap.put(dataSourceName, result);
}
diff --git a/test/plugin/scenarios/shardingsphere-4.x-scenario/pom.xml b/test/plugin/scenarios/shardingsphere-4.x-scenario/pom.xml
index 0aaa872bb..02ef46893 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-scenario/pom.xml
+++ b/test/plugin/scenarios/shardingsphere-4.x-scenario/pom.xml
@@ -47,11 +47,6 @@
sharding-jdbc-core
${test.framework.version}
-
- org.apache.commons
- commons-dbcp2
- 2.2.0
-
org.springframework.boot
spring-boot-starter
diff --git a/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java b/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java
index 3663ead8f..f8b63de54 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java
+++ b/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/Application.java
@@ -34,14 +34,7 @@ public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
try {
- DataSourceUtil.createDataSource("");
- DataSourceUtil.createSchema("demo_ds_0");
- DataSourceUtil.createSchema("demo_ds_1");
- DataSourceUtil.createDataSource("demo_ds_0");
- DataSourceUtil.createDataSource("demo_ds_1");
- DataSource dataSource = new ShardingDatabasesAndTablesConfigurationPrecise().createDataSource();
- CommonService commonService = new RawPojoService(new JDBCOrderRepositoryImpl(dataSource), new JDBCOrderItemRepositoryImpl(dataSource));
- commonService.initEnvironment();
+
SpringApplication.run(Application.class, args);
} catch (Exception e) {
// Never do this
diff --git a/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java b/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java
index f9c97007c..248058c0e 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java
+++ b/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/controller/CaseController.java
@@ -24,25 +24,36 @@ import org.apache.skywalking.apm.testcase.shardingsphere.service.config.Sharding
import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.jdbc.JDBCOrderItemRepositoryImpl;
import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.jdbc.JDBCOrderRepositoryImpl;
import org.apache.skywalking.apm.testcase.shardingsphere.service.repository.service.RawPojoService;
+import org.apache.skywalking.apm.testcase.shardingsphere.service.utility.config.DataSourceUtil;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
+import java.sql.SQLException;
+
@RestController
@RequestMapping("/case")
public class CaseController {
+
+ private CommonService commonService = null;
@RequestMapping("/healthCheck")
@ResponseBody
- public String healthCheck() {
+ public String healthCheck() throws SQLException {
+ DataSourceUtil.createDataSource("");
+ DataSourceUtil.createSchema("demo_ds_0");
+ DataSourceUtil.createSchema("demo_ds_1");
+ DataSourceUtil.createDataSource("demo_ds_0");
+ DataSourceUtil.createDataSource("demo_ds_1");
+ DataSource dataSource = new ShardingDatabasesAndTablesConfigurationPrecise().createDataSource();
+ commonService = new RawPojoService(new JDBCOrderRepositoryImpl(dataSource), new JDBCOrderItemRepositoryImpl(dataSource));
+ commonService.initEnvironment();
return "Success";
}
@RequestMapping("/execute")
@ResponseBody
public String execute() {
- DataSource dataSource = new ShardingDatabasesAndTablesConfigurationPrecise().getDataSource();
- CommonService commonService = new RawPojoService(new JDBCOrderRepositoryImpl(dataSource), new JDBCOrderItemRepositoryImpl(dataSource));
commonService.processSuccess(false);
return "Success";
}
diff --git a/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java b/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java
index e54486f71..b99d44057 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java
+++ b/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderItemRepositoryImpl.java
@@ -32,15 +32,18 @@ import org.apache.skywalking.apm.testcase.shardingsphere.service.api.repository.
public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
private final DataSource dataSource;
+
+ private final Connection connection;
- public JDBCOrderItemRepositoryImpl(final DataSource dataSource) {
+ public JDBCOrderItemRepositoryImpl(final DataSource dataSource) throws SQLException {
this.dataSource = dataSource;
+ this.connection = dataSource.getConnection();
}
@Override
public void createTableIfNotExists() {
String sql = "CREATE TABLE IF NOT EXISTS t_order_item " + "(order_item_id BIGINT NOT NULL AUTO_INCREMENT, order_id BIGINT NOT NULL, user_id INT NOT NULL, status VARCHAR(50), PRIMARY KEY (order_item_id))";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -49,7 +52,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public void dropTable() {
String sql = "DROP TABLE t_order_item";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -58,7 +61,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public void truncateTable() {
String sql = "TRUNCATE TABLE t_order_item";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -67,7 +70,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public Long insert(final OrderItem orderItem) {
String sql = "INSERT INTO t_order_item (order_id, user_id, status) VALUES (?, ?, ?)";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
preparedStatement.setLong(1, orderItem.getOrderId());
preparedStatement.setInt(2, orderItem.getUserId());
preparedStatement.setString(3, orderItem.getStatus());
@@ -85,7 +88,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
@Override
public void delete(final Long orderItemId) {
String sql = "DELETE FROM t_order_item WHERE order_item_id=?";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
preparedStatement.setLong(1, orderItemId);
preparedStatement.executeUpdate(sql);
} catch (final SQLException ignored) {
@@ -106,7 +109,7 @@ public final class JDBCOrderItemRepositoryImpl implements OrderItemRepository {
private List getOrderItems(final String sql) {
List result = new LinkedList<>();
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
.executeQuery()) {
while (resultSet.next()) {
OrderItem orderItem = new OrderItem();
diff --git a/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java b/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java
index 2a66c0dc7..dc4c80dd9 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java
+++ b/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/repository/jdbc/JDBCOrderRepositoryImpl.java
@@ -32,15 +32,18 @@ import org.apache.skywalking.apm.testcase.shardingsphere.service.api.repository.
public final class JDBCOrderRepositoryImpl implements OrderRepository {
private final DataSource dataSource;
+
+ private final Connection connection;
- public JDBCOrderRepositoryImpl(final DataSource dataSource) {
+ public JDBCOrderRepositoryImpl(final DataSource dataSource) throws SQLException {
this.dataSource = dataSource;
+ this.connection = dataSource.getConnection();
}
@Override
public void createTableIfNotExists() {
String sql = "CREATE TABLE IF NOT EXISTS t_order (order_id BIGINT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, status VARCHAR(50), PRIMARY KEY (order_id))";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -49,7 +52,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public void dropTable() {
String sql = "DROP TABLE t_order";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -58,7 +61,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public void truncateTable() {
String sql = "TRUNCATE TABLE t_order";
- try (Connection connection = dataSource.getConnection(); Statement statement = connection.createStatement()) {
+ try (Statement statement = connection.createStatement()) {
statement.executeUpdate(sql);
} catch (final SQLException ignored) {
}
@@ -67,7 +70,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public Long insert(final Order order) {
String sql = "INSERT INTO t_order (user_id, status) VALUES (?, ?)";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
preparedStatement.setInt(1, order.getUserId());
preparedStatement.setString(2, order.getStatus());
preparedStatement.executeUpdate();
@@ -84,7 +87,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
@Override
public void delete(final Long orderId) {
String sql = "DELETE FROM t_order WHERE order_id=?";
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
preparedStatement.setLong(1, orderId);
preparedStatement.executeUpdate();
} catch (final SQLException ignored) {
@@ -105,7 +108,7 @@ public final class JDBCOrderRepositoryImpl implements OrderRepository {
private List getOrders(final String sql) {
List result = new LinkedList<>();
- try (Connection connection = dataSource.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
+ try (PreparedStatement preparedStatement = connection.prepareStatement(sql); ResultSet resultSet = preparedStatement
.executeQuery()) {
while (resultSet.next()) {
Order order = new Order();
diff --git a/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java b/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java
index 530e7b5d7..688ce00c1 100644
--- a/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java
+++ b/test/plugin/scenarios/shardingsphere-4.x-scenario/src/main/java/org/apache/skywalking/apm/testcase/shardingsphere/service/utility/config/DataSourceUtil.java
@@ -18,14 +18,13 @@
package org.apache.skywalking.apm.testcase.shardingsphere.service.utility.config;
-import org.apache.commons.dbcp2.BasicDataSource;
-
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import javax.sql.DataSource;
+import org.h2.jdbcx.JdbcDataSource;
public class DataSourceUtil {
@@ -34,10 +33,9 @@ public class DataSourceUtil {
private static final Map datasourceMap = new HashMap<>();
public static void createDataSource(final String dataSourceName) {
- BasicDataSource result = new BasicDataSource();
- result.setDriverClassName("org.h2.Driver");
- result.setUrl(String.format("jdbc:h2:mem:%s", dataSourceName));
- result.setUsername("sa");
+ JdbcDataSource result = new JdbcDataSource();
+ result.setUrl("jdbc:h2:mem:" + dataSourceName + ";DB_CLOSE_DELAY=-1");
+ result.setUser("sa");
result.setPassword("");
datasourceMap.put(dataSourceName, result);
}