mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
fix init check for mysql
This commit is contained in:
@@ -526,8 +526,8 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
this.getConnectProperties().setProperty("oracle.jdbc.FreeMemoryOnEnterImplicitCache", "true");
|
||||
}
|
||||
} else if (JdbcUtils.MYSQL.equals(this.dbType)) {
|
||||
if (LOG.isWarnEnabled()) {
|
||||
LOG.warn("Your dbType is mysql, recommend set testWhileIdle is true and validationQuery shoud not be null");
|
||||
if (!this.isTestWhileIdle()) {
|
||||
if (LOG.isWarnEnabled()) LOG.warn("Your dbType is mysql, recommend set testWhileIdle is true");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.alibaba.druid.bvt.pool;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
import junit.framework.Assert;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import com.alibaba.druid.support.logging.Log;
|
||||
|
||||
public class ConfigErrorTestMysql extends TestCase {
|
||||
|
||||
private DruidDataSource dataSource;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
dataSource = new DruidDataSource();
|
||||
dataSource.setUrl("jdbc:mysql:xxx");
|
||||
dataSource.setTestOnBorrow(false);
|
||||
dataSource.setInitialSize(0);
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
dataSource.close();
|
||||
}
|
||||
|
||||
public void test_success() throws Exception {
|
||||
dataSource.setTestWhileIdle(true);
|
||||
|
||||
Field field = DruidDataSource.class.getDeclaredField("LOG");
|
||||
dataSource.setValidationQuery("select 1");
|
||||
field.setAccessible(true);
|
||||
Log LOG = (Log) field.get(null);
|
||||
|
||||
LOG.resetStat();
|
||||
|
||||
Assert.assertEquals(0, LOG.getWarnCount());
|
||||
dataSource.init();
|
||||
Assert.assertEquals(0, LOG.getWarnCount());
|
||||
}
|
||||
|
||||
public void test_warn() throws Exception {
|
||||
dataSource.setTestWhileIdle(false);
|
||||
|
||||
Field field = DruidDataSource.class.getDeclaredField("LOG");
|
||||
field.setAccessible(true);
|
||||
Log LOG = (Log) field.get(null);
|
||||
|
||||
LOG.resetStat();
|
||||
|
||||
Assert.assertEquals(0, LOG.getWarnCount());
|
||||
dataSource.init();
|
||||
Assert.assertEquals(1, LOG.getWarnCount());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user