From 66bb235f9b0e79f3e0c2e641cd13fc9a23ac5d11 Mon Sep 17 00:00:00 2001 From: wenshao Date: Sat, 13 Oct 2018 20:09:22 +0800 Subject: [PATCH] support phyMaxUseCount --- .../java/com/alibaba/druid/pool/DruidDataSource.java | 11 +++++++++++ .../pool/DruidDataSourceTest9_phyMaxUseCount.java | 12 ++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index a2cf6cbafb..a09f543869 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -333,6 +333,17 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat } } } + { + String property = properties.getProperty("druid.phyMaxUseCount"); + if (property != null && property.length() > 0) { + try { + long value = Long.parseLong(property); + this.setPhyMaxUseCount(value); + } catch (NumberFormatException e) { + LOG.error("illegal property 'druid.phyMaxUseCount'", e); + } + } + } { String property = properties.getProperty("druid.minEvictableIdleTimeMillis"); if (property != null && property.length() > 0) { diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest9_phyMaxUseCount.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest9_phyMaxUseCount.java index 461d499153..105130e4d8 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest9_phyMaxUseCount.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest9_phyMaxUseCount.java @@ -21,6 +21,18 @@ public class DruidDataSourceTest9_phyMaxUseCount extends TestCase { dataSource.setUrl("jdbc:mock:xxx"); dataSource.setInitialSize(1); dataSource.setPhyMaxUseCount(10); + + assertEquals(10, dataSource.getPhyMaxUseCount()); + + Properties properties = new Properties(); + properties.put("druid.phyMaxUseCount", "20"); + dataSource.configFromPropety(properties); + assertEquals(20, dataSource.getPhyMaxUseCount()); + + properties.put("druid.phyMaxUseCount", "10"); + dataSource.configFromPropety(properties); + assertEquals(10, dataSource.getPhyMaxUseCount()); + dataSource.setFilters("log4j"); }