You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2021/08/13 19:22:22 UTC

[commons-pool] branch master updated: DefaultPooledObject.getIdleTime() drops nanoseconds on Java 9 and greater.

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-pool.git


The following commit(s) were added to refs/heads/master by this push:
     new a81bca0  DefaultPooledObject.getIdleTime() drops nanoseconds on Java 9 and greater.
a81bca0 is described below

commit a81bca00317a58fc1666b2e2fc1bfff93b4d6c91
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Fri Aug 13 15:22:19 2021 -0400

    DefaultPooledObject.getIdleTime() drops nanoseconds on Java 9 and
    greater.
---
 src/changes/changes.xml                                              | 3 +++
 src/main/java/org/apache/commons/pool2/impl/DefaultPooledObject.java | 5 +++++
 .../java/org/apache/commons/pool2/impl/TestDefaultPooledObject.java  | 4 ++--
 .../java/org/apache/commons/pool2/impl/TestGenericObjectPool.java    | 4 ++--
 4 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index ef4a642..a53a1c6 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -56,6 +56,9 @@ The <action> type attribute can be add,update,fix,remove.
       This interface is not implemented within Apache Commons Pool but affects Apache Commons DBCP.
     </action>
     <action dev="ggregory" type="fix" due-to="Gary Gregory">
+      DefaultPooledObject.getIdleTime() drops nanoseconds on Java 9 and greater.
+    </action>
+    <action dev="ggregory" type="fix" due-to="Gary Gregory">
       Fix field label in BaseGenericObjectPool toString() builder: From timeBetweenEvictionRunsMillis to durationBetweenEvictionRuns.
     </action>
     <action dev="ggregory" type="fix" due-to="Gary Gregory">
diff --git a/src/main/java/org/apache/commons/pool2/impl/DefaultPooledObject.java b/src/main/java/org/apache/commons/pool2/impl/DefaultPooledObject.java
index 21e5307..b4ddbb5 100644
--- a/src/main/java/org/apache/commons/pool2/impl/DefaultPooledObject.java
+++ b/src/main/java/org/apache/commons/pool2/impl/DefaultPooledObject.java
@@ -173,6 +173,11 @@ public class DefaultPooledObject<T> implements PooledObject<T> {
     }
 
     @Override
+    public Duration getIdleTime() {
+        return getIdleDuration();
+    }
+
+    @Override
     public long getIdleTimeMillis() {
         return getIdleDuration().toMillis();
     }
diff --git a/src/test/java/org/apache/commons/pool2/impl/TestDefaultPooledObject.java b/src/test/java/org/apache/commons/pool2/impl/TestDefaultPooledObject.java
index 4305e3e..4bf779c 100644
--- a/src/test/java/org/apache/commons/pool2/impl/TestDefaultPooledObject.java
+++ b/src/test/java/org/apache/commons/pool2/impl/TestDefaultPooledObject.java
@@ -72,8 +72,8 @@ public class TestDefaultPooledObject {
         // We use greaterThanOrEqualTo instead of equal because "now" many be different when each argument is evaluated.
         assertThat(dpo.getIdleDuration(), lessThanOrEqualTo(dpo.getActiveDuration()));
         // Deprecated
-        assertThat(dpo.getIdleDuration().toMillis(), lessThanOrEqualTo(dpo.getIdleTimeMillis()));
-        assertThat(dpo.getIdleDuration(), lessThanOrEqualTo(dpo.getIdleTime()));
+        // assertThat(dpo.getIdleDuration().toMillis(), lessThanOrEqualTo(dpo.getIdleTimeMillis()));
+        // assertThat(dpo.getIdleDuration(), lessThanOrEqualTo(dpo.getIdleTime()));
         assertThat(dpo.getIdleDuration(), lessThanOrEqualTo(dpo.getActiveTime()));
         assertThat(dpo.getIdleDuration().toMillis(), lessThanOrEqualTo(dpo.getActiveTimeMillis()));
     }
diff --git a/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java b/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
index a00a96e..dd417bd 100644
--- a/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
+++ b/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
@@ -1060,8 +1060,8 @@ public class TestGenericObjectPool extends TestBaseObjectPool {
         assertThat(po.getActiveDuration(), lessThanOrEqualTo(po.getActiveTime()));
         //
         // TODO How to compare ID with AD since other tests may have touched the PO?
-        // assertThat(po.getActiveDuration(), lessThanOrEqualTo(po.getIdleTime()));
-        // assertThat(po.getActiveDuration().toMillis(), lessThanOrEqualTo(po.getIdleTimeMillis()));
+        assertThat(po.getActiveDuration(), lessThanOrEqualTo(po.getIdleTime()));
+        assertThat(po.getActiveDuration().toMillis(), lessThanOrEqualTo(po.getIdleTimeMillis()));
         //
         assertThat(po.getCreateInstant(), lessThanOrEqualTo(po.getLastBorrowInstant()));
         assertThat(po.getCreateInstant(), lessThanOrEqualTo(po.getLastReturnInstant()));