我在Java中实现了一个非常简单的ConnectionPool.它没有花哨的功能,只是获取/释放连接方法.
我该如何测试它是否有效?
我知道有很多连接池可以在那里使用,它比我要做的更可靠,但我只是想练习理解连接池的工作方式.
谢谢!
这是代码,以防它有帮助:
public class ConnectionPoolImpl implements ConnectionPool {
private Vector<PooledConnection> connections; // The connections container
String url;
String username;
String password;
/**
* Instanciates a new MySQLConnectionPool
* @param nbConnectionsMax
*/
public ConnectionPoolImpl(String DBUrl, String username, String password){
this.connections = new Vector<PooledConnection>();
this.url = DBUrl;
this.username = username;
this.password = password;
}
/**
* Returns a connection from the pool, if some are available, or create a new one.
*
* @return the connection.
*/
public Connection …Run Code Online (Sandbox Code Playgroud) java testing integration-testing unit-testing connection-pooling
我写了一个小的Gradle项目,这样我就可以学习如何在同一个项目中一起配置HikariCP和JDBC以及Log4j2.我已将下面的log4j2配置src/main/resources放在我项目的目录中.当我使用我执行项目时,gradle run我收到一条关于不为com.zaxxer.hikari.HikariConfig记录器配置appender的警告.
有人会告诉我我做错了什么吗?
log4j2.xml
<?xml version="1.0" encoding="utf-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="com.zaxxer.hikari.HikariConfig" level="trace">
<AppenderRef ref="Console"/>
</Logger>
<Root level="TRACE">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
Run Code Online (Sandbox Code Playgroud)
的build.gradle
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'maven'
apply plugin: 'application'
targetCompatibility = 1.8
sourceCompatibility = 1.8
version = '0.0.1.0'
group = 'com.s2d'
mainClassName = "com.s2d.jdbctest.DemoJDBC"
applicationDefaultJvmArgs = ["-Djdbc.drivers=org.apache.derby.jdbc.EmbeddedDriver"]
task wrapper(type: Wrapper) {
gradleVersion = '1.4' …Run Code Online (Sandbox Code Playgroud)