bug fixed for DruidDataSourceFactory

This commit is contained in:
wenshao
2013-04-25 22:04:06 +08:00
parent c364e71db9
commit 2dc53e80e4
3 changed files with 41 additions and 7 deletions
@@ -285,12 +285,15 @@ public class DruidDataSourceFactory implements ObjectFactory {
value = (String) properties.get(PROP_POOLPREPAREDSTATEMENTS);
if (value != null) {
dataSource.setPoolPreparedStatements(Boolean.valueOf(value).booleanValue());
}
value = (String) properties.get(PROP_MAXOPENPREPAREDSTATEMENTS);
if (value != null) {
dataSource.setMaxOpenPreparedStatements(Integer.parseInt(value));
boolean poolPreparedStatements = Boolean.valueOf(value).booleanValue();
dataSource.setPoolPreparedStatements(poolPreparedStatements);
if (poolPreparedStatements) {
value = (String) properties.get(PROP_MAXOPENPREPAREDSTATEMENTS);
if (value != null) {
dataSource.setMaxOpenPreparedStatements(Integer.parseInt(value));
}
}
}
value = (String) properties.get(PROP_FILTERS);
@@ -21,9 +21,10 @@ import javax.naming.Reference;
import javax.naming.StringRefAddr;
import javax.sql.DataSource;
import junit.framework.Assert;
import junit.framework.TestCase;
import org.junit.Assert;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.alibaba.druid.util.JdbcUtils;
@@ -0,0 +1,30 @@
package com.alibaba.druid.bvt.pool;
import java.util.Properties;
import junit.framework.TestCase;
import org.junit.Assert;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.alibaba.druid.util.JdbcUtils;
public class DruidDataSourceFactoryTest2 extends TestCase {
private DruidDataSource dataSource;
protected void tearDown() throws Exception {
JdbcUtils.close(dataSource);
}
public void test_factory() throws Exception {
Properties properties = new Properties();
properties.put(DruidDataSourceFactory.PROP_POOLPREPAREDSTATEMENTS, "false");
properties.put(DruidDataSourceFactory.PROP_MAXOPENPREPAREDSTATEMENTS, "100");
dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
Assert.assertFalse(dataSource.isPoolPreparedStatements());
}
}