This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbcp.git
The following commit(s) were added to refs/heads/master by this push:
new 28eb33b Update MXBean for use of Duration with BasicDataSource
28eb33b is described below
commit 28eb33b5b3551de2e630a4cb59dc3bc5506f8114
Author: Mark Thomas <[email protected]>
AuthorDate: Wed Jan 5 19:07:51 2022 +0000
Update MXBean for use of Duration with BasicDataSource
---
.../org/apache/commons/dbcp2/BasicDataSource.java | 7 ++
.../org/apache/commons/dbcp2/DataSourceMXBean.java | 77 ++++++++++++++++++++++
.../commons/dbcp2/TestBasicDataSourceMXBean.java | 37 +++++++++++
3 files changed, 121 insertions(+)
diff --git a/src/main/java/org/apache/commons/dbcp2/BasicDataSource.java
b/src/main/java/org/apache/commons/dbcp2/BasicDataSource.java
index 07615d2..bb451cd 100644
--- a/src/main/java/org/apache/commons/dbcp2/BasicDataSource.java
+++ b/src/main/java/org/apache/commons/dbcp2/BasicDataSource.java
@@ -1064,6 +1064,7 @@ public class BasicDataSource implements DataSource,
BasicDataSourceMXBean, MBean
* @return the maximum permitted duration of a connection.
* @since 2.10.0
*/
+ @Override
public Duration getMaxConnDuration() {
return maxConnDuration;
}
@@ -1123,6 +1124,7 @@ public class BasicDataSource implements DataSource,
BasicDataSourceMXBean, MBean
* @return the maxWaitDuration property value.
* @since 2.10.0
*/
+ @Override
public synchronized Duration getMaxWaitDuration() {
return this.maxWaitDuration;
}
@@ -1147,6 +1149,7 @@ public class BasicDataSource implements DataSource,
BasicDataSourceMXBean, MBean
* @see #setMinEvictableIdle(Duration)
* @since 2.10.0
*/
+ @Override
public synchronized Duration getMinEvictableIdleDuration() {
return this.minEvictableIdleDuration;
}
@@ -1324,6 +1327,7 @@ public class BasicDataSource implements DataSource,
BasicDataSourceMXBean, MBean
* @return Timeout before an abandoned connection can be removed.
* @since 2.10.0
*/
+ @Override
public Duration getRemoveAbandonedTimeoutDuration() {
return abandonedConfig == null ? Duration.ofSeconds(300) :
abandonedConfig.getRemoveAbandonedTimeoutDuration();
}
@@ -1353,6 +1357,7 @@ public class BasicDataSource implements DataSource,
BasicDataSourceMXBean, MBean
* there are minIdle idle connections in the pool
* @since 2.10.0
*/
+ @Override
public synchronized Duration getSoftMinEvictableIdleDuration() {
return softMinEvictableIdleDuration;
}
@@ -1429,6 +1434,7 @@ public class BasicDataSource implements DataSource,
BasicDataSourceMXBean, MBean
* @see #setDurationBetweenEvictionRuns(Duration)
* @since 2.10.0
*/
+ @Override
public synchronized Duration getDurationBetweenEvictionRuns() {
return this.durationBetweenEvictionRuns;
}
@@ -1482,6 +1488,7 @@ public class BasicDataSource implements DataSource,
BasicDataSourceMXBean, MBean
*
* @return the timeout in seconds before connection validation queries
fail.
*/
+ @Override
public Duration getValidationQueryTimeoutDuration() {
return validationQueryTimeoutDuration;
}
diff --git a/src/main/java/org/apache/commons/dbcp2/DataSourceMXBean.java
b/src/main/java/org/apache/commons/dbcp2/DataSourceMXBean.java
index 56fb5c8..9922542 100644
--- a/src/main/java/org/apache/commons/dbcp2/DataSourceMXBean.java
+++ b/src/main/java/org/apache/commons/dbcp2/DataSourceMXBean.java
@@ -17,6 +17,7 @@
package org.apache.commons.dbcp2;
import java.sql.SQLException;
+import java.time.Duration;
/**
* Defines the methods that will be made available via
@@ -138,10 +139,21 @@ public interface DataSourceMXBean {
boolean getLogExpiredConnections();
/**
+ * See {@link BasicDataSource#getMaxConnDuration()}.
+ *
+ * @return {@link BasicDataSource#getMaxConnDuration()}.
+ * @since 2.10.0
+ */
+ Duration getMaxConnDuration();
+
+ /**
* See {@link BasicDataSource#getMaxConnLifetimeMillis()}.
*
* @return {@link BasicDataSource#getMaxConnLifetimeMillis()}.
+ *
+ * @deprecated Use {@link #getMaxConnDuration()}.
*/
+ @Deprecated
long getMaxConnLifetimeMillis();
/**
@@ -166,17 +178,39 @@ public interface DataSourceMXBean {
int getMaxTotal();
/**
+ * See {@link BasicDataSource#getMaxWaitDuration()}.
+ *
+ * @return {@link BasicDataSource#getMaxWaitDuration()}.
+ * @since 2.10.0
+ */
+ Duration getMaxWaitDuration();
+
+ /**
* See {@link BasicDataSource#getMaxWaitMillis()}.
*
* @return {@link BasicDataSource#getMaxWaitMillis()}.
+ *
+ * @deprecated Use {@link #getMaxWaitDuration()}.
*/
+ @Deprecated
long getMaxWaitMillis();
/**
+ * See {@link BasicDataSource#getMinEvictableIdleDuration()}.
+ *
+ * @return {@link BasicDataSource#getMinEvictableIdleDuration()}.
+ * @since 2.10.0
+ */
+ Duration getMinEvictableIdleDuration();
+
+ /**
* See {@link BasicDataSource#getMinEvictableIdleTimeMillis()}.
*
* @return {@link BasicDataSource#getMinEvictableIdleTimeMillis()}.
+ *
+ * @deprecated Use {@link #getMinEvictableIdleDuration()}.
*/
+ @Deprecated
long getMinEvictableIdleTimeMillis();
/**
@@ -222,17 +256,39 @@ public interface DataSourceMXBean {
boolean getRemoveAbandonedOnMaintenance();
/**
+ * See {@link BasicDataSource#getRemoveAbandonedTimeoutDuration()}.
+ *
+ * @return {@link BasicDataSource#getRemoveAbandonedTimeoutDuration()}.
+ * @since 2.10.0
+ */
+ Duration getRemoveAbandonedTimeoutDuration();
+
+ /**
* See {@link BasicDataSource#getRemoveAbandonedTimeout()}.
*
* @return {@link BasicDataSource#getRemoveAbandonedTimeout()}.
+ *
+ * @deprecated Use {@link #getRemoveAbandonedTimeoutDuration()}.
*/
+ @Deprecated
int getRemoveAbandonedTimeout();
/**
+ * See {@link BasicDataSource#getSoftMinEvictableIdleDuration()}.
+ *
+ * @return {@link BasicDataSource#getSoftMinEvictableIdleDuration()}.
+ * @since 2.10.0
+ */
+ Duration getSoftMinEvictableIdleDuration();
+
+ /**
* See {@link BasicDataSource#getSoftMinEvictableIdleTimeMillis()}.
*
* @return {@link BasicDataSource#getSoftMinEvictableIdleTimeMillis()}.
+ *
+ * @deprecated Use {@link #getSoftMinEvictableIdleDuration()}.
*/
+ @Deprecated
long getSoftMinEvictableIdleTimeMillis();
/**
@@ -257,10 +313,20 @@ public interface DataSourceMXBean {
boolean getTestWhileIdle();
/**
+ * See {@link BasicDataSource#getDurationBetweenEvictionRuns()}.
+ *
+ * @return {@link BasicDataSource#getDurationBetweenEvictionRuns()}.
+ * @since 2.10.0
+ */
+ Duration getDurationBetweenEvictionRuns();
+
+ /**
* See {@link BasicDataSource#getTimeBetweenEvictionRunsMillis()}.
*
* @return {@link BasicDataSource#getTimeBetweenEvictionRunsMillis()}.
+ * @deprecated Use {@link #getDurationBetweenEvictionRuns()}.
*/
+ @Deprecated
long getTimeBetweenEvictionRunsMillis();
/**
@@ -285,10 +351,21 @@ public interface DataSourceMXBean {
String getValidationQuery();
/**
+ * See {@link BasicDataSource#getValidationQueryTimeoutDuration()}.
+ *
+ * @return {@link BasicDataSource#getValidationQueryTimeoutDuration()}.
+ * @since 2.10.0
+ */
+ Duration getValidationQueryTimeoutDuration();
+
+ /**
* See {@link BasicDataSource#getValidationQueryTimeout()}.
*
* @return {@link BasicDataSource#getValidationQueryTimeout()}.
+ *
+ * @deprecated Use {@link #getValidationQueryTimeoutDuration()}.
*/
+ @Deprecated
int getValidationQueryTimeout();
/**
diff --git
a/src/test/java/org/apache/commons/dbcp2/TestBasicDataSourceMXBean.java
b/src/test/java/org/apache/commons/dbcp2/TestBasicDataSourceMXBean.java
index bde0cbf..65d4276 100644
--- a/src/test/java/org/apache/commons/dbcp2/TestBasicDataSourceMXBean.java
+++ b/src/test/java/org/apache/commons/dbcp2/TestBasicDataSourceMXBean.java
@@ -17,6 +17,8 @@
package org.apache.commons.dbcp2;
+import java.time.Duration;
+
import static org.junit.jupiter.api.Assertions.assertNull;
import org.junit.jupiter.api.Test;
@@ -99,6 +101,11 @@ public class TestBasicDataSourceMXBean {
}
@Override
+ public Duration getMaxConnDuration() {
+ return Duration.ZERO;
+ }
+
+ @Override
public long getMaxConnLifetimeMillis() {
return 0;
}
@@ -119,11 +126,21 @@ public class TestBasicDataSourceMXBean {
}
@Override
+ public Duration getMaxWaitDuration() {
+ return Duration.ZERO;
+ }
+
+ @Override
public long getMaxWaitMillis() {
return 0;
}
@Override
+ public Duration getMinEvictableIdleDuration() {
+ return Duration.ZERO;
+ }
+
+ @Override
public long getMinEvictableIdleTimeMillis() {
return 0;
}
@@ -164,11 +181,21 @@ public class TestBasicDataSourceMXBean {
}
@Override
+ public Duration getRemoveAbandonedTimeoutDuration() {
+ return Duration.ZERO;
+ }
+
+ @Override
public int getRemoveAbandonedTimeout() {
return 0;
}
@Override
+ public Duration getSoftMinEvictableIdleDuration() {
+ return Duration.ZERO;
+ }
+
+ @Override
public long getSoftMinEvictableIdleTimeMillis() {
return 0;
}
@@ -189,6 +216,11 @@ public class TestBasicDataSourceMXBean {
}
@Override
+ public Duration getDurationBetweenEvictionRuns() {
+ return Duration.ZERO;
+ }
+
+ @Override
public long getTimeBetweenEvictionRunsMillis() {
return 0;
}
@@ -209,6 +241,11 @@ public class TestBasicDataSourceMXBean {
}
@Override
+ public Duration getValidationQueryTimeoutDuration() {
+ return Duration.ZERO;
+ }
+
+ @Override
public int getValidationQueryTimeout() {
return 0;
}