mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
fix : DruidDataSource clone miss socketTimeout, for issue #4976
This commit is contained in:
@@ -2108,7 +2108,7 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements
|
||||
to.maxPoolPreparedStatementPerConnectionSize = this.maxPoolPreparedStatementPerConnectionSize;
|
||||
to.logWriter = this.logWriter;
|
||||
if (this.filters != null) {
|
||||
to.filters = new ArrayList<Filter>(this.filters);
|
||||
to.filters = new ArrayList<>(this.filters);
|
||||
}
|
||||
to.exceptionSorter = this.exceptionSorter;
|
||||
to.driver = this.driver;
|
||||
@@ -2137,6 +2137,10 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements
|
||||
to.asyncCloseConnectionEnable = this.asyncCloseConnectionEnable;
|
||||
to.createScheduler = this.createScheduler;
|
||||
to.destroyScheduler = this.destroyScheduler;
|
||||
to.socketTimeout = this.socketTimeout;
|
||||
to.connectTimeout = this.connectTimeout;
|
||||
to.socketTimeoutSr = this.socketTimeoutSr;
|
||||
to.connectTimeoutStr = this.connectTimeoutStr;
|
||||
}
|
||||
|
||||
public abstract void discardConnection(Connection realConnection);
|
||||
|
||||
@@ -3496,7 +3496,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
return dataSourceStat;
|
||||
}
|
||||
|
||||
public Object clone() throws CloneNotSupportedException {
|
||||
public Object clone() {
|
||||
return cloneDruidDataSource();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.alibaba.druid.bvt.pool;
|
||||
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class DruidDataSourceTest10 {
|
||||
@Test
|
||||
public void test() throws Exception {
|
||||
DruidDataSource ds = new DruidDataSource();
|
||||
ds.setSocketTimeout(10);
|
||||
ds.setConnectTimeout(20);
|
||||
|
||||
DruidDataSource ds1 = (DruidDataSource) ds.clone();
|
||||
assertEquals(ds.getConnectTimeout(), ds1.getConnectTimeout());
|
||||
assertEquals(ds.getSocketTimeout(), ds1.getSocketTimeout());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user