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

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

commit f8c2f6290e49598b77fc5fb25d9addaa0fb85635
Author: Thomas Vandahl <[email protected]>
AuthorDate: Tue Mar 17 18:07:14 2026 +0100

    Change type of PoolConfiguration.keepAliveTime to Duration
---
 .../commons/jcs4/engine/CacheEventQueue.java       |  3 +-
 .../engine/control/event/ElementEventQueue.java    |  5 +--
 .../jcs4/utils/discovery/UDPDiscoveryReceiver.java |  3 +-
 .../jcs4/utils/threadpool/PoolConfiguration.java   | 20 ++++++------
 .../jcs4/utils/threadpool/ThreadPoolManager.java   |  4 +--
 .../src/test/test-conf/TestBlockDiskCache.ccf      |  6 ++--
 .../src/test/test-conf/TestBlockDiskCacheCon.ccf   |  8 ++---
 .../src/test/test-conf/TestBlockDiskCacheHuge.ccf  |  4 +--
 .../src/test/test-conf/TestDiskCache.ccf           |  6 ++--
 .../src/test/test-conf/TestDiskCacheCon.ccf        |  8 ++---
 .../src/test/test-conf/TestDiskCacheHuge.ccf       |  4 +--
 .../src/test/test-conf/TestDiskCacheNoMemory.ccf   |  6 ++--
 .../test/test-conf/TestDiskCacheUsagePattern.ccf   |  8 ++---
 .../src/test/test-conf/TestElementSerializer.ccf   |  2 +-
 .../src/test/test-conf/TestHSQLDiskCache.ccf       |  2 +-
 .../test/test-conf/TestHSQLDiskCacheConcurrent.ccf |  2 +-
 .../src/test/test-conf/TestJCSvHashtablePerf.ccf   |  6 ++--
 .../src/test/test-conf/TestJDBCDiskCache.ccf       |  2 +-
 .../test/test-conf/TestJDBCDiskCacheRemoval.ccf    |  2 +-
 .../test/test-conf/TestJDBCDiskCacheSharedPool.ccf |  2 +-
 .../src/test/test-conf/TestMySQLDiskCache.ccf      |  2 +-
 .../src/test/test-conf/TestRemoval.ccf             |  6 ++--
 .../src/test/test-conf/TestTCPLateralCache.ccf     |  6 ++--
 .../test-conf/TestTCPLateralIssueRemoveCache.ccf   |  6 ++--
 commons-jcs4-core/src/test/test-conf/cache.ccf     |  6 ++--
 .../src/test/test-conf/thread_pool.properties      | 12 +++----
 src/site/xdoc/BlockDiskCache.xml                   |  4 +--
 src/site/xdoc/IndexedDiskAuxCache.xml              |  7 +---
 src/site/xdoc/IndexedDiskCacheProperties.xml       |  2 +-
 src/site/xdoc/JDBCDiskCache.xml                    |  6 ++--
 src/site/xdoc/JDBCDiskCacheProperties.xml          |  2 +-
 src/site/xdoc/MySQLDiskCacheProperties.xml         |  2 +-
 src/site/xdoc/UpgradingFrom3x.xml                  | 37 ++++++++++++++++++++--
 33 files changed, 115 insertions(+), 86 deletions(-)

diff --git 
a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/CacheEventQueue.java
 
b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/CacheEventQueue.java
index da738431..0dc68083 100644
--- 
a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/CacheEventQueue.java
+++ 
b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/CacheEventQueue.java
@@ -70,8 +70,7 @@ public class CacheEventQueue<K, V>
     {
         // create a default pool with one worker thread to mimic the SINGLE 
queue behavior
         return ThreadPoolManager.getInstance().createPool(
-                new PoolConfiguration(false, 0, 1, 1, 
getWaitToDie().toMillisPart(),
-                        WhenBlockedPolicy.RUN, 1),
+                new PoolConfiguration(false, 0, 1, 1, getWaitToDie(), 
WhenBlockedPolicy.RUN, 1),
                 "CacheEventQueue.QProcessor-" + getCacheName());
     }
 
diff --git 
a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/event/ElementEventQueue.java
 
b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/event/ElementEventQueue.java
index 9399811b..0a0948a9 100644
--- 
a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/event/ElementEventQueue.java
+++ 
b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/event/ElementEventQueue.java
@@ -20,6 +20,7 @@ package org.apache.commons.jcs4.engine.control.event;
  */
 
 import java.io.IOException;
+import java.time.Duration;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.atomic.AtomicBoolean;
 
@@ -28,8 +29,8 @@ import 
org.apache.commons.jcs4.engine.control.event.behavior.IElementEventHandle
 import 
org.apache.commons.jcs4.engine.control.event.behavior.IElementEventQueue;
 import org.apache.commons.jcs4.log.Log;
 import org.apache.commons.jcs4.utils.threadpool.PoolConfiguration;
-import org.apache.commons.jcs4.utils.threadpool.ThreadPoolManager;
 import 
org.apache.commons.jcs4.utils.threadpool.PoolConfiguration.WhenBlockedPolicy;
+import org.apache.commons.jcs4.utils.threadpool.ThreadPoolManager;
 
 /**
  * An event queue is used to propagate ordered cache events to one and only 
one target listener.
@@ -54,7 +55,7 @@ public class ElementEventQueue
     public ElementEventQueue()
     {
         queueProcessor = ThreadPoolManager.getInstance().createPool(
-                       new PoolConfiguration(false, 0, 1, 1, 0, 
WhenBlockedPolicy.RUN, 1), THREAD_PREFIX);
+                       new PoolConfiguration(false, 0, 1, 1, Duration.ZERO, 
WhenBlockedPolicy.RUN, 1), THREAD_PREFIX);
 
         log.debug( "Constructed: {0}", this );
     }
diff --git 
a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/utils/discovery/UDPDiscoveryReceiver.java
 
b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/utils/discovery/UDPDiscoveryReceiver.java
index 2ec7c033..038ae0eb 100644
--- 
a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/utils/discovery/UDPDiscoveryReceiver.java
+++ 
b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/utils/discovery/UDPDiscoveryReceiver.java
@@ -31,6 +31,7 @@ import java.nio.channels.DatagramChannel;
 import java.nio.channels.MembershipKey;
 import java.nio.channels.SelectionKey;
 import java.nio.channels.Selector;
+import java.time.Duration;
 import java.util.Iterator;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -105,7 +106,7 @@ public class UDPDiscoveryReceiver
 
         // create a small thread pool to handle a barrage
         this.pooledExecutor = ThreadPoolManager.getInstance().createPool(
-                new PoolConfiguration(false, 0, maxPoolSize, maxPoolSize, 0,
+                new PoolConfiguration(false, 0, maxPoolSize, maxPoolSize, 
Duration.ZERO,
                         WhenBlockedPolicy.DISCARDOLDEST, maxPoolSize),
                 "JCS-UDPDiscoveryReceiver-", Thread.MIN_PRIORITY);
 
diff --git 
a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/utils/threadpool/PoolConfiguration.java
 
b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/utils/threadpool/PoolConfiguration.java
index d7c4d5b3..f99017c2 100644
--- 
a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/utils/threadpool/PoolConfiguration.java
+++ 
b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/utils/threadpool/PoolConfiguration.java
@@ -1,5 +1,7 @@
 package org.apache.commons.jcs4.utils.threadpool;
 
+import java.time.Duration;
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -39,7 +41,7 @@ public record PoolConfiguration(
         int minimumPoolSize,
 
         /** How long idle threads above the minimum should be kept alive. */
-        int keepAliveTime,
+        Duration keepAliveTime,
 
         /** Should be ABORT, BLOCK, RUN, WAIT, DISCARDOLDEST, */
         WhenBlockedPolicy whenBlockedPolicy,
@@ -78,7 +80,7 @@ public record PoolConfiguration(
     private static final int DEFAULT_MINIMUM_POOL_SIZE = 
Runtime.getRuntime().availableProcessors();
 
     /** Default keep alive */
-    private static final int DEFAULT_KEEPALIVE_TIME = 1000 * 60 * 5;
+    private static final Duration DEFAULT_KEEPALIVE_TIME = 
Duration.ofMinutes(5);
 
     /** Default when blocked */
     private static final WhenBlockedPolicy DEFAULT_WHEN_BLOCKED_POLICY = 
WhenBlockedPolicy.RUN;
@@ -110,13 +112,13 @@ public record PoolConfiguration(
     public String toString()
     {
         final StringBuilder buf = new StringBuilder();
-        buf.append( "useBoundary = [" + useBoundary() + "] " );
-        buf.append( "boundarySize = [" + boundarySize() + "] " );
-        buf.append( "maximumPoolSize = [" + maximumPoolSize() + "] " );
-        buf.append( "minimumPoolSize = [" + minimumPoolSize() + "] " );
-        buf.append( "keepAliveTime = [" + keepAliveTime() + "] " );
-        buf.append( "whenBlockedPolicy = [" + whenBlockedPolicy() + "] " );
-        buf.append( "startUpSize = [" + startUpSize() + "]" );
+        buf.append("useBoundary = [").append(useBoundary()).append("] ");
+        buf.append("boundarySize = [").append(boundarySize()).append("] ");
+        buf.append("maximumPoolSize = [").append(maximumPoolSize()).append("] 
");
+        buf.append("minimumPoolSize = [").append(minimumPoolSize()).append("] 
");
+        buf.append("keepAliveTime = [").append(keepAliveTime()).append("] ");
+        buf.append("whenBlockedPolicy = 
[").append(whenBlockedPolicy()).append("] ");
+        buf.append("startUpSize = [").append(startUpSize()).append("]" );
         return buf.toString();
     }
 }
diff --git 
a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/utils/threadpool/ThreadPoolManager.java
 
b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/utils/threadpool/ThreadPoolManager.java
index 4365ec57..cfb8dcc8 100644
--- 
a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/utils/threadpool/ThreadPoolManager.java
+++ 
b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/utils/threadpool/ThreadPoolManager.java
@@ -144,7 +144,7 @@ public static void dispose()
     {
         final PoolConfiguration config = ConfigurationBuilder
                 .create(PoolConfiguration.class, defaultPoolConfiguration)
-                .fromProperties(props, root + ".")
+                .fromProperties(props, root)
                 .build();
 
         log.debug( "{0} PoolConfiguration = {1}", root, config );
@@ -240,7 +240,7 @@ public static void dispose()
         final ThreadPoolExecutor pool = new ThreadPoolExecutor(
             config.startUpSize(),
             config.maximumPoolSize(),
-            config.keepAliveTime(),
+            config.keepAliveTime().toMillis(),
             TimeUnit.MILLISECONDS,
             queue,
             new DaemonThreadFactory(threadNamePrefix, threadPriority));
diff --git a/commons-jcs4-core/src/test/test-conf/TestBlockDiskCache.ccf 
b/commons-jcs4-core/src/test/test-conf/TestBlockDiskCache.ccf
index 65c53779..1f5dacea 100644
--- a/commons-jcs4-core/src/test/test-conf/TestBlockDiskCache.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestBlockDiskCache.ccf
@@ -51,7 +51,7 @@ 
jcs.auxiliary.blockDiskCache2.attributes.DiskPath=target/test-sandbox/block-disk
 thread_pool.default.boundarySize=2000
 thread_pool.default.maximumPoolSize=150
 thread_pool.default.minimumPoolSize=4
-thread_pool.default.keepAliveTime=350000
+thread_pool.default.keepAliveTime=PT5M50S
 # RUN ABORT WAIT BLOCK DISCARDOLDEST
 thread_pool.default.whenBlockedPolicy=RUN
 thread_pool.default.startUpSize=4
@@ -61,7 +61,7 @@ thread_pool.cache_event_queue.useBoundary=false
 # thread_pool.cache_event_queue.boundarySize=2000
 # thread_pool.cache_event_queue.maximumPoolSize=10
 thread_pool.cache_event_queue.minimumPoolSize=5
-thread_pool.cache_event_queue.keepAliveTime=3500
+thread_pool.cache_event_queue.keepAliveTime=PT3.5S
 # thread_pool.cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.cache_event_queue.startUpSize=5
 
@@ -69,7 +69,7 @@ thread_pool.cache_event_queue.startUpSize=5
 thread_pool.remote_cache_client.boundarySize=75
 thread_pool.remote_cache_client.maximumPoolSize=150
 thread_pool.remote_cache_client.minimumPoolSize=4
-thread_pool.remote_cache_client.keepAliveTime=350000
+thread_pool.remote_cache_client.keepAliveTime=PT5M50S
 thread_pool.remote_cache_client.whenBlockedPolicy=RUN
 thread_pool.remote_cache_client.startUpSize=4
 
diff --git a/commons-jcs4-core/src/test/test-conf/TestBlockDiskCacheCon.ccf 
b/commons-jcs4-core/src/test/test-conf/TestBlockDiskCacheCon.ccf
index 8ac3eb5b..d84c32a4 100644
--- a/commons-jcs4-core/src/test/test-conf/TestBlockDiskCacheCon.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestBlockDiskCacheCon.ccf
@@ -49,7 +49,7 @@ 
jcs.auxiliary.blockDiskCache.attributes.EventQueuePoolName=disk_cache_event_queu
 thread_pool.default.boundarySize=2000
 thread_pool.default.maximumPoolSize=150
 thread_pool.default.minimumPoolSize=4
-thread_pool.default.keepAliveTime=350000
+thread_pool.default.keepAliveTime=PT5M50S
 # RUN ABORT WAIT BLOCK DISCARDOLDEST
 thread_pool.default.whenBlockedPolicy=RUN
 thread_pool.default.startUpSize=4
@@ -59,20 +59,20 @@ thread_pool.cache_event_queue.useBoundary=false
 # thread_pool.cache_event_queue.boundarySize=2000
 # thread_pool.cache_event_queue.maximumPoolSize=10
 thread_pool.cache_event_queue.minimumPoolSize=1
-thread_pool.cache_event_queue.keepAliveTime=3500
+thread_pool.cache_event_queue.keepAliveTime=PT3.5S
 # thread_pool.cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.cache_event_queue.startUpSize=1
 
 # Disk Cache pool
 thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.minimumPoolSize=2
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5S
 thread_pool.disk_cache_event_queue.startUpSize=10
 
 # Remote cache client thread pool config
 thread_pool.remote_cache_client.boundarySize=75
 thread_pool.remote_cache_client.maximumPoolSize=150
 thread_pool.remote_cache_client.minimumPoolSize=4
-thread_pool.remote_cache_client.keepAliveTime=350000
+thread_pool.remote_cache_client.keepAliveTime=PT5M50S
 thread_pool.remote_cache_client.whenBlockedPolicy=RUN
 thread_pool.remote_cache_client.startUpSize=4
diff --git a/commons-jcs4-core/src/test/test-conf/TestBlockDiskCacheHuge.ccf 
b/commons-jcs4-core/src/test/test-conf/TestBlockDiskCacheHuge.ccf
index f2ce19e6..b052e3f8 100644
--- a/commons-jcs4-core/src/test/test-conf/TestBlockDiskCacheHuge.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestBlockDiskCacheHuge.ccf
@@ -44,7 +44,7 @@ jcs.auxiliary.blockDiskCache.attributes.EventQueueType=SINGLE
 thread_pool.default.boundarySize=2000
 thread_pool.default.maximumPoolSize=150
 thread_pool.default.minimumPoolSize=4
-thread_pool.default.keepAliveTime=350000
+thread_pool.default.keepAliveTime=PT5M50S
 # RUN ABORT WAIT BLOCK DISCARDOLDEST
 thread_pool.default.whenBlockedPolicy=RUN
 thread_pool.default.startUpSize=4
@@ -52,5 +52,5 @@ thread_pool.default.startUpSize=4
 # Disk Cache pool
 thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.minimumPoolSize=2
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5S
 thread_pool.disk_cache_event_queue.startUpSize=10
diff --git a/commons-jcs4-core/src/test/test-conf/TestDiskCache.ccf 
b/commons-jcs4-core/src/test/test-conf/TestDiskCache.ccf
index 1a360fa4..27e3989f 100644
--- a/commons-jcs4-core/src/test/test-conf/TestDiskCache.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestDiskCache.ccf
@@ -51,7 +51,7 @@ 
jcs.auxiliary.indexedDiskCache2.attributes.DiskPath=target/test-sandbox/indexed-
 thread_pool.default.boundarySize=2000
 thread_pool.default.maximumPoolSize=150
 thread_pool.default.minimumPoolSize=4
-thread_pool.default.keepAliveTime=350000
+thread_pool.default.keepAliveTime=PT5M50S
 # RUN ABORT WAIT BLOCK DISCARDOLDEST
 thread_pool.default.whenBlockedPolicy=RUN
 thread_pool.default.startUpSize=4
@@ -61,7 +61,7 @@ thread_pool.cache_event_queue.useBoundary=false
 # thread_pool.cache_event_queue.boundarySize=2000
 # thread_pool.cache_event_queue.maximumPoolSize=10
 thread_pool.cache_event_queue.minimumPoolSize=5
-thread_pool.cache_event_queue.keepAliveTime=3500
+thread_pool.cache_event_queue.keepAliveTime=PT3.5S
 # thread_pool.cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.cache_event_queue.startUpSize=5
 
@@ -69,7 +69,7 @@ thread_pool.cache_event_queue.startUpSize=5
 thread_pool.remote_cache_client.boundarySize=75
 thread_pool.remote_cache_client.maximumPoolSize=150
 thread_pool.remote_cache_client.minimumPoolSize=4
-thread_pool.remote_cache_client.keepAliveTime=350000
+thread_pool.remote_cache_client.keepAliveTime=PT5M50S
 thread_pool.remote_cache_client.whenBlockedPolicy=RUN
 thread_pool.remote_cache_client.startUpSize=4
 
diff --git a/commons-jcs4-core/src/test/test-conf/TestDiskCacheCon.ccf 
b/commons-jcs4-core/src/test/test-conf/TestDiskCacheCon.ccf
index 0d5e3d39..0dff31a5 100644
--- a/commons-jcs4-core/src/test/test-conf/TestDiskCacheCon.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestDiskCacheCon.ccf
@@ -50,7 +50,7 @@ 
jcs.auxiliary.indexedDiskCache.attributes.EventQueuePoolName=disk_cache_event_qu
 thread_pool.default.boundarySize=2000
 thread_pool.default.maximumPoolSize=150
 thread_pool.default.minimumPoolSize=4
-thread_pool.default.keepAliveTime=350000
+thread_pool.default.keepAliveTime=PT5M50S
 # RUN ABORT WAIT BLOCK DISCARDOLDEST
 thread_pool.default.whenBlockedPolicy=RUN
 thread_pool.default.startUpSize=4
@@ -60,20 +60,20 @@ thread_pool.cache_event_queue.useBoundary=false
 # thread_pool.cache_event_queue.boundarySize=2000
 # thread_pool.cache_event_queue.maximumPoolSize=10
 thread_pool.cache_event_queue.minimumPoolSize=1
-thread_pool.cache_event_queue.keepAliveTime=3500
+thread_pool.cache_event_queue.keepAliveTime=PT3.5S
 # thread_pool.cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.cache_event_queue.startUpSize=1
 
 # Disk Cache pool
 thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.minimumPoolSize=2
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5S
 thread_pool.disk_cache_event_queue.startUpSize=10
 
 # Remote cache client thread pool config
 thread_pool.remote_cache_client.boundarySize=75
 thread_pool.remote_cache_client.maximumPoolSize=150
 thread_pool.remote_cache_client.minimumPoolSize=4
-thread_pool.remote_cache_client.keepAliveTime=350000
+thread_pool.remote_cache_client.keepAliveTime=PT5M50S
 thread_pool.remote_cache_client.whenBlockedPolicy=RUN
 thread_pool.remote_cache_client.startUpSize=4
diff --git a/commons-jcs4-core/src/test/test-conf/TestDiskCacheHuge.ccf 
b/commons-jcs4-core/src/test/test-conf/TestDiskCacheHuge.ccf
index 87574e16..d67276a6 100644
--- a/commons-jcs4-core/src/test/test-conf/TestDiskCacheHuge.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestDiskCacheHuge.ccf
@@ -44,7 +44,7 @@ 
jcs.auxiliary.indexedDiskCache.attributes.EventQueueType=SINGLE
 thread_pool.default.boundarySize=2000
 thread_pool.default.maximumPoolSize=150
 thread_pool.default.minimumPoolSize=4
-thread_pool.default.keepAliveTime=350000
+thread_pool.default.keepAliveTime=PT5M50S
 # RUN ABORT WAIT BLOCK DISCARDOLDEST
 thread_pool.default.whenBlockedPolicy=RUN
 thread_pool.default.startUpSize=4
@@ -52,5 +52,5 @@ thread_pool.default.startUpSize=4
 # Disk Cache pool
 thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.minimumPoolSize=2
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5S
 thread_pool.disk_cache_event_queue.startUpSize=10
diff --git a/commons-jcs4-core/src/test/test-conf/TestDiskCacheNoMemory.ccf 
b/commons-jcs4-core/src/test/test-conf/TestDiskCacheNoMemory.ccf
index c65b8acf..45d5314e 100644
--- a/commons-jcs4-core/src/test/test-conf/TestDiskCacheNoMemory.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestDiskCacheNoMemory.ccf
@@ -52,7 +52,7 @@ 
jcs.auxiliary.indexedDiskCache2.attributes.DiskPath=target/test-sandbox/indexed-
 thread_pool.default.boundarySize=2000
 thread_pool.default.maximumPoolSize=150
 thread_pool.default.minimumPoolSize=4
-thread_pool.default.keepAliveTime=350000
+thread_pool.default.keepAliveTime=PT5M50S
 # RUN ABORT WAIT BLOCK DISCARDOLDEST
 thread_pool.default.whenBlockedPolicy=RUN
 thread_pool.default.startUpSize=4
@@ -62,7 +62,7 @@ thread_pool.cache_event_queue.useBoundary=false
 # thread_pool.cache_event_queue.boundarySize=2000
 # thread_pool.cache_event_queue.maximumPoolSize=10
 thread_pool.cache_event_queue.minimumPoolSize=5
-thread_pool.cache_event_queue.keepAliveTime=3500
+thread_pool.cache_event_queue.keepAliveTime=PT3.5S
 # thread_pool.cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.cache_event_queue.startUpSize=5
 
@@ -70,6 +70,6 @@ thread_pool.cache_event_queue.startUpSize=5
 thread_pool.remote_cache_client.boundarySize=75
 thread_pool.remote_cache_client.maximumPoolSize=150
 thread_pool.remote_cache_client.minimumPoolSize=4
-thread_pool.remote_cache_client.keepAliveTime=350000
+thread_pool.remote_cache_client.keepAliveTime=PT5M50S
 thread_pool.remote_cache_client.whenBlockedPolicy=RUN
 thread_pool.remote_cache_client.startUpSize=4
diff --git a/commons-jcs4-core/src/test/test-conf/TestDiskCacheUsagePattern.ccf 
b/commons-jcs4-core/src/test/test-conf/TestDiskCacheUsagePattern.ccf
index 66440eb2..b0e8e45d 100644
--- a/commons-jcs4-core/src/test/test-conf/TestDiskCacheUsagePattern.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestDiskCacheUsagePattern.ccf
@@ -45,7 +45,7 @@ 
jcs.auxiliary.indexedDiskCache.attributes.EventQueuePoolName=disk_cache_event_qu
 thread_pool.default.boundarySize=2000
 thread_pool.default.maximumPoolSize=150
 thread_pool.default.minimumPoolSize=4
-thread_pool.default.keepAliveTime=350000
+thread_pool.default.keepAliveTime=PT5M50S
 # RUN ABORT WAIT BLOCK DISCARDOLDEST
 thread_pool.default.whenBlockedPolicy=RUN
 thread_pool.default.startUpSize=4
@@ -55,20 +55,20 @@ thread_pool.cache_event_queue.useBoundary=false
 # thread_pool.cache_event_queue.boundarySize=2000
 # thread_pool.cache_event_queue.maximumPoolSize=10
 thread_pool.cache_event_queue.minimumPoolSize=1
-thread_pool.cache_event_queue.keepAliveTime=3500
+thread_pool.cache_event_queue.keepAliveTime=PT3.5S
 # thread_pool.cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.cache_event_queue.startUpSize=1
 
 # Disk Cache pool
 thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.minimumPoolSize=2
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5S
 thread_pool.disk_cache_event_queue.startUpSize=10
 
 # Remote cache client thread pool config
 thread_pool.remote_cache_client.boundarySize=75
 thread_pool.remote_cache_client.maximumPoolSize=150
 thread_pool.remote_cache_client.minimumPoolSize=4
-thread_pool.remote_cache_client.keepAliveTime=350000
+thread_pool.remote_cache_client.keepAliveTime=PT5M50S
 thread_pool.remote_cache_client.whenBlockedPolicy=RUN
 thread_pool.remote_cache_client.startUpSize=4
diff --git a/commons-jcs4-core/src/test/test-conf/TestElementSerializer.ccf 
b/commons-jcs4-core/src/test/test-conf/TestElementSerializer.ccf
index 7e656e84..7fda0498 100644
--- a/commons-jcs4-core/src/test/test-conf/TestElementSerializer.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestElementSerializer.ccf
@@ -59,6 +59,6 @@ thread_pool.cache_event_queue.useBoundary=false
 #thread_pool.cache_event_queue.boundarySize=2000
 thread_pool.cache_event_queue.maximumPoolSize=10
 thread_pool.cache_event_queue.minimumPoolSize=5
-thread_pool.cache_event_queue.keepAliveTime=3500
+thread_pool.cache_event_queue.keepAliveTime=PT3.5S
 thread_pool.cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.cache_event_queue.startUpSize=5
diff --git a/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCache.ccf 
b/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCache.ccf
index 39527dbf..bd1fbaf5 100644
--- a/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCache.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCache.ccf
@@ -69,6 +69,6 @@ thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.boundarySize=500
 thread_pool.disk_cache_event_queue.maximumPoolSize=15
 thread_pool.disk_cache_event_queue.minimumPoolSize=10
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5S
 thread_pool.disk_cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.disk_cache_event_queue.startUpSize=10
diff --git 
a/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCacheConcurrent.ccf 
b/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCacheConcurrent.ccf
index 08ec3078..d05e7e8c 100644
--- a/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCacheConcurrent.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCacheConcurrent.ccf
@@ -70,6 +70,6 @@ thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.boundarySize=500
 thread_pool.disk_cache_event_queue.maximumPoolSize=15
 thread_pool.disk_cache_event_queue.minimumPoolSize=10
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5S
 thread_pool.disk_cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.disk_cache_event_queue.startUpSize=10
diff --git a/commons-jcs4-core/src/test/test-conf/TestJCSvHashtablePerf.ccf 
b/commons-jcs4-core/src/test/test-conf/TestJCSvHashtablePerf.ccf
index 88b11ef4..189d3545 100644
--- a/commons-jcs4-core/src/test/test-conf/TestJCSvHashtablePerf.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestJCSvHashtablePerf.ccf
@@ -32,7 +32,7 @@ jcs.region.testCache1.cacheattributes.MaxObjects=100000
 thread_pool.default.boundarySize=2000
 thread_pool.default.maximumPoolSize=150
 thread_pool.default.minimumPoolSize=4
-thread_pool.default.keepAliveTime=350000
+thread_pool.default.keepAliveTime=PT5M50S
 # RUN ABORT WAIT BLOCK DISCARDOLDEST
 thread_pool.default.whenBlockedPolicy=RUN
 thread_pool.default.startUpSize=4
@@ -42,7 +42,7 @@ thread_pool.cache_event_queue.useBoundary=false
 # thread_pool.cache_event_queue.boundarySize=2000
 # thread_pool.cache_event_queue.maximumPoolSize=10
 thread_pool.cache_event_queue.minimumPoolSize=5
-thread_pool.cache_event_queue.keepAliveTime=3500
+thread_pool.cache_event_queue.keepAliveTime=PT3.5S
 # thread_pool.cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.cache_event_queue.startUpSize=5
 
@@ -50,6 +50,6 @@ thread_pool.cache_event_queue.startUpSize=5
 thread_pool.remote_cache_client.boundarySize=75
 thread_pool.remote_cache_client.maximumPoolSize=150
 thread_pool.remote_cache_client.minimumPoolSize=4
-thread_pool.remote_cache_client.keepAliveTime=350000
+thread_pool.remote_cache_client.keepAliveTime=PT5M50S
 thread_pool.remote_cache_client.whenBlockedPolicy=RUN
 thread_pool.remote_cache_client.startUpSize=4
diff --git a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCache.ccf 
b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCache.ccf
index 9136aedd..fedbb061 100644
--- a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCache.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCache.ccf
@@ -49,6 +49,6 @@ thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.boundarySize=500
 thread_pool.disk_cache_event_queue.maximumPoolSize=15
 thread_pool.disk_cache_event_queue.minimumPoolSize=10
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5S
 thread_pool.disk_cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.disk_cache_event_queue.startUpSize=10
diff --git a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheRemoval.ccf 
b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheRemoval.ccf
index fd9d260e..70a6d8f7 100644
--- a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheRemoval.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheRemoval.ccf
@@ -50,6 +50,6 @@ thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.boundarySize=500
 thread_pool.disk_cache_event_queue.maximumPoolSize=15
 thread_pool.disk_cache_event_queue.minimumPoolSize=10
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5S
 thread_pool.disk_cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.disk_cache_event_queue.startUpSize=10
diff --git 
a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheSharedPool.ccf 
b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheSharedPool.ccf
index 471aaef1..3bbf75e0 100644
--- a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheSharedPool.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheSharedPool.ccf
@@ -69,6 +69,6 @@ thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.boundarySize=500
 thread_pool.disk_cache_event_queue.maximumPoolSize=15
 thread_pool.disk_cache_event_queue.minimumPoolSize=10
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5S
 thread_pool.disk_cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.disk_cache_event_queue.startUpSize=10
diff --git a/commons-jcs4-core/src/test/test-conf/TestMySQLDiskCache.ccf 
b/commons-jcs4-core/src/test/test-conf/TestMySQLDiskCache.ccf
index 7a62b00c..f602bdc1 100644
--- a/commons-jcs4-core/src/test/test-conf/TestMySQLDiskCache.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestMySQLDiskCache.ccf
@@ -54,6 +54,6 @@ thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.boundarySize=500
 thread_pool.disk_cache_event_queue.maximumPoolSize=15
 thread_pool.disk_cache_event_queue.minimumPoolSize=10
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5S
 thread_pool.disk_cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.disk_cache_event_queue.startUpSize=10
diff --git a/commons-jcs4-core/src/test/test-conf/TestRemoval.ccf 
b/commons-jcs4-core/src/test/test-conf/TestRemoval.ccf
index c2cb64e9..3e1babf1 100644
--- a/commons-jcs4-core/src/test/test-conf/TestRemoval.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestRemoval.ccf
@@ -32,7 +32,7 @@ jcs.region.testCache1.cacheattributes.MaxObjects=1000
 thread_pool.default.boundarySize=2000
 thread_pool.default.maximumPoolSize=150
 thread_pool.default.minimumPoolSize=4
-thread_pool.default.keepAliveTime=350000
+thread_pool.default.keepAliveTime=PT5M50S
 # RUN ABORT WAIT BLOCK DISCARDOLDEST
 thread_pool.default.whenBlockedPolicy=RUN
 thread_pool.default.startUpSize=4
@@ -42,7 +42,7 @@ thread_pool.cache_event_queue.useBoundary=false
 # thread_pool.cache_event_queue.boundarySize=2000
 # thread_pool.cache_event_queue.maximumPoolSize=10
 thread_pool.cache_event_queue.minimumPoolSize=5
-thread_pool.cache_event_queue.keepAliveTime=3500
+thread_pool.cache_event_queue.keepAliveTime=PT3.5S
 # thread_pool.cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.cache_event_queue.startUpSize=5
 
@@ -50,6 +50,6 @@ thread_pool.cache_event_queue.startUpSize=5
 thread_pool.remote_cache_client.boundarySize=75
 thread_pool.remote_cache_client.maximumPoolSize=150
 thread_pool.remote_cache_client.minimumPoolSize=4
-thread_pool.remote_cache_client.keepAliveTime=350000
+thread_pool.remote_cache_client.keepAliveTime=PT5M50S
 thread_pool.remote_cache_client.whenBlockedPolicy=RUN
 thread_pool.remote_cache_client.startUpSize=4
diff --git a/commons-jcs4-core/src/test/test-conf/TestTCPLateralCache.ccf 
b/commons-jcs4-core/src/test/test-conf/TestTCPLateralCache.ccf
index 130c8a66..553d6464 100644
--- a/commons-jcs4-core/src/test/test-conf/TestTCPLateralCache.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestTCPLateralCache.ccf
@@ -44,7 +44,7 @@ jcs.auxiliary.LTCP.attributes.OpenTimeOut=2002
 thread_pool.default.boundarySize=2000
 thread_pool.default.maximumPoolSize=150
 thread_pool.default.minimumPoolSize=4
-thread_pool.default.keepAliveTime=350000
+thread_pool.default.keepAliveTime=PT5M50S
 # RUN ABORT WAIT BLOCK DISCARDOLDEST
 thread_pool.default.whenBlockedPolicy=RUN
 thread_pool.default.startUpSize=4
@@ -54,7 +54,7 @@ thread_pool.cache_event_queue.useBoundary=false
 # thread_pool.cache_event_queue.boundarySize=2000
 # thread_pool.cache_event_queue.maximumPoolSize=10
 thread_pool.cache_event_queue.minimumPoolSize=5
-thread_pool.cache_event_queue.keepAliveTime=3500
+thread_pool.cache_event_queue.keepAliveTime=PT3.5S
 # thread_pool.cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.cache_event_queue.startUpSize=5
 
@@ -62,7 +62,7 @@ thread_pool.cache_event_queue.startUpSize=5
 thread_pool.remote_cache_client.boundarySize=75
 thread_pool.remote_cache_client.maximumPoolSize=150
 thread_pool.remote_cache_client.minimumPoolSize=4
-thread_pool.remote_cache_client.keepAliveTime=350000
+thread_pool.remote_cache_client.keepAliveTime=PT5M50S
 thread_pool.remote_cache_client.whenBlockedPolicy=RUN
 thread_pool.remote_cache_client.startUpSize=4
 
diff --git 
a/commons-jcs4-core/src/test/test-conf/TestTCPLateralIssueRemoveCache.ccf 
b/commons-jcs4-core/src/test/test-conf/TestTCPLateralIssueRemoveCache.ccf
index 73fdd1a0..46af277d 100644
--- a/commons-jcs4-core/src/test/test-conf/TestTCPLateralIssueRemoveCache.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestTCPLateralIssueRemoveCache.ccf
@@ -43,7 +43,7 @@ jcs.auxiliary.LTCP.attributes.IssueRemoveOnPut=true
 thread_pool.default.boundarySize=2000
 thread_pool.default.maximumPoolSize=150
 thread_pool.default.minimumPoolSize=4
-thread_pool.default.keepAliveTime=350000
+thread_pool.default.keepAliveTime=PT5M50S
 # RUN ABORT WAIT BLOCK DISCARDOLDEST
 thread_pool.default.whenBlockedPolicy=RUN
 thread_pool.default.startUpSize=4
@@ -53,7 +53,7 @@ thread_pool.cache_event_queue.useBoundary=false
 # thread_pool.cache_event_queue.boundarySize=2000
 # thread_pool.cache_event_queue.maximumPoolSize=10
 thread_pool.cache_event_queue.minimumPoolSize=5
-thread_pool.cache_event_queue.keepAliveTime=3500
+thread_pool.cache_event_queue.keepAliveTime=PT3.5S
 # thread_pool.cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.cache_event_queue.startUpSize=5
 
@@ -61,7 +61,7 @@ thread_pool.cache_event_queue.startUpSize=5
 thread_pool.remote_cache_client.boundarySize=75
 thread_pool.remote_cache_client.maximumPoolSize=150
 thread_pool.remote_cache_client.minimumPoolSize=4
-thread_pool.remote_cache_client.keepAliveTime=350000
+thread_pool.remote_cache_client.keepAliveTime=PT5M50S
 thread_pool.remote_cache_client.whenBlockedPolicy=RUN
 thread_pool.remote_cache_client.startUpSize=4
 
diff --git a/commons-jcs4-core/src/test/test-conf/cache.ccf 
b/commons-jcs4-core/src/test/test-conf/cache.ccf
index 383b4b20..380461c5 100644
--- a/commons-jcs4-core/src/test/test-conf/cache.ccf
+++ b/commons-jcs4-core/src/test/test-conf/cache.ccf
@@ -29,7 +29,7 @@ jcs.region.testCache1=
 thread_pool.default.boundarySize=2000
 thread_pool.default.maximumPoolSize=150
 thread_pool.default.minimumPoolSize=4
-thread_pool.default.keepAliveTime=350000
+thread_pool.default.keepAliveTime=PT5M50S
 # RUN ABORT WAIT BLOCK DISCARDOLDEST
 thread_pool.default.whenBlockedPolicy=RUN
 thread_pool.default.startUpSize=4
@@ -39,7 +39,7 @@ thread_pool.cache_event_queue.useBoundary=false
 # thread_pool.cache_event_queue.boundarySize=2000
 # thread_pool.cache_event_queue.maximumPoolSize=10
 thread_pool.cache_event_queue.minimumPoolSize=5
-thread_pool.cache_event_queue.keepAliveTime=3500
+thread_pool.cache_event_queue.keepAliveTime=PT3.5S
 # thread_pool.cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.cache_event_queue.startUpSize=5
 
@@ -47,6 +47,6 @@ thread_pool.cache_event_queue.startUpSize=5
 thread_pool.remote_cache_client.boundarySize=75
 thread_pool.remote_cache_client.maximumPoolSize=150
 thread_pool.remote_cache_client.minimumPoolSize=4
-thread_pool.remote_cache_client.keepAliveTime=350000
+thread_pool.remote_cache_client.keepAliveTime=PT5M50S
 thread_pool.remote_cache_client.whenBlockedPolicy=RUN
 thread_pool.remote_cache_client.startUpSize=4
diff --git a/commons-jcs4-core/src/test/test-conf/thread_pool.properties 
b/commons-jcs4-core/src/test/test-conf/thread_pool.properties
index 2fcfda37..18a995aa 100644
--- a/commons-jcs4-core/src/test/test-conf/thread_pool.properties
+++ b/commons-jcs4-core/src/test/test-conf/thread_pool.properties
@@ -23,7 +23,7 @@
 thread_pool.default.boundarySize=2000
 thread_pool.default.maximumPoolSize=150
 thread_pool.default.minimumPoolSize=6
-thread_pool.default.keepAliveTime=350000
+thread_pool.default.keepAliveTime=PT5M50S
 # RUN ABORT WAIT BLOCK DISCARDOLDEST
 thread_pool.default.whenBlockedPolicy=RUN
 thread_pool.default.startUpSize=6
@@ -32,7 +32,7 @@ thread_pool.default.startUpSize=6
 thread_pool.test1.boundarySize=75
 thread_pool.test1.maximumPoolSize=150
 thread_pool.test1.minimumPoolSize=4
-thread_pool.test1.keepAliveTime=350001
+thread_pool.test1.keepAliveTime=PT5M51S
 thread_pool.test1.whenBlockedPolicy=RUN
 thread_pool.test1.startUpSize=4
 
@@ -40,7 +40,7 @@ thread_pool.test1.startUpSize=4
 thread_pool.maxtest.boundarySize=72
 thread_pool.maxtest.maximumPoolSize=142
 thread_pool.maxtest.minimumPoolSize=5
-thread_pool.maxtest.keepAliveTime=350002
+thread_pool.maxtest.keepAliveTime=PT5M52S
 thread_pool.maxtest.whenBlockedPolicy=RUN
 thread_pool.maxtest.startUpSize=5
 
@@ -48,7 +48,7 @@ thread_pool.maxtest.startUpSize=5
 thread_pool.aborttest.boundarySize=1
 thread_pool.aborttest.maximumPoolSize=11
 thread_pool.aborttest.minimumPoolSize=1
-thread_pool.aborttest.keepAliveTime=1
+thread_pool.aborttest.keepAliveTime=PT0.001s
 thread_pool.aborttest.whenBlockedPolicy=ABORT
 thread_pool.aborttest.startUpSize=1
 
@@ -57,7 +57,7 @@ thread_pool.withbound.useBoundary=true
 thread_pool.withbound.boundarySize=1000
 thread_pool.withbound.maximumPoolSize=11
 thread_pool.withbound.minimumPoolSize=1
-thread_pool.withbound.keepAliveTime=1
+thread_pool.withbound.keepAliveTime=PT0.001s
 thread_pool.withbound.whenBlockedPolicy=ABORT
 thread_pool.withbound.startUpSize=1
 
@@ -67,6 +67,6 @@ thread_pool.nobound.useBoundary=false
 thread_pool.nobound.boundarySize=1000
 thread_pool.nobound.maximumPoolSize=11
 thread_pool.nobound.minimumPoolSize=1
-thread_pool.nobound.keepAliveTime=1
+thread_pool.nobound.keepAliveTime=PT0.001s
 thread_pool.nobound.whenBlockedPolicy=ABORT
 thread_pool.nobound.startUpSize=1
diff --git a/src/site/xdoc/BlockDiskCache.xml b/src/site/xdoc/BlockDiskCache.xml
index 05951233..2a4c01ba 100644
--- a/src/site/xdoc/BlockDiskCache.xml
+++ b/src/site/xdoc/BlockDiskCache.xml
@@ -85,7 +85,7 @@ jcs.auxiliary.blockDiskCache.attributes.EventQueueType=SINGLE
 thread_pool.default.boundarySize=2000
 thread_pool.default.maximumPoolSize=150
 thread_pool.default.minimumPoolSize=4
-thread_pool.default.keepAliveTime=350000
+thread_pool.default.keepAliveTime=PT5M50S
 #RUN ABORT DISCARDOLDEST DISCARD
 thread_pool.default.whenBlockedPolicy=RUN
 thread_pool.default.startUpSize=4
@@ -93,7 +93,7 @@ thread_pool.default.startUpSize=4
 # Disk Cache pool
 thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.minimumPoolSize=2
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5s
 thread_pool.disk_cache_event_queue.startUpSize=10
         ]]>
                                </source>
diff --git a/src/site/xdoc/IndexedDiskAuxCache.xml 
b/src/site/xdoc/IndexedDiskAuxCache.xml
index a30f66de..94f12fb5 100644
--- a/src/site/xdoc/IndexedDiskAuxCache.xml
+++ b/src/site/xdoc/IndexedDiskAuxCache.xml
@@ -176,11 +176,6 @@ jcs.auxiliary.DC.attributes.MaxPurgatorySize=10000
                                        data file will occur until shutdown. By 
default the
                                        value is -1.
                                </p>
-                               <p>
-                                       In version 1.2.7.9 of JCS, the 
optimization routine
-                                       was significantly improved. It now 
occurs in place,
-                                       without the aid of a temporary file.
-                               </p>
                                <source><![CDATA[
 jcs.auxiliary.DC.attributes.OptimizeAtRemoveCount=30000
 ]]></source>
@@ -275,7 +270,7 @@ 
jcs.auxiliary.DC2.attributes.EventQueuePoolName=disk_cache_event_queue
 thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.maximumPoolSize=15
 thread_pool.disk_cache_event_queue.minimumPoolSize=1
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5s
 thread_pool.disk_cache_event_queue.startUpSize=1
 ]]></source>
                        </subsection>
diff --git a/src/site/xdoc/IndexedDiskCacheProperties.xml 
b/src/site/xdoc/IndexedDiskCacheProperties.xml
index e1fbb067..f4e91dd9 100644
--- a/src/site/xdoc/IndexedDiskCacheProperties.xml
+++ b/src/site/xdoc/IndexedDiskCacheProperties.xml
@@ -143,7 +143,7 @@ thread_pool.disk_cache_event_queue.boundarySize=50
 thread_pool.disk_cache_event_queue.useBoundary=true
 thread_pool.disk_cache_event_queue.maximumPoolSize=15
 thread_pool.disk_cache_event_queue.minimumPoolSize=1
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5s
 thread_pool.disk_cache_event_queue.startUpSize=1
 thread_pool.disk_cache_event_queue.whenBlockedPolicy=RUN
         ]]>
diff --git a/src/site/xdoc/JDBCDiskCache.xml b/src/site/xdoc/JDBCDiskCache.xml
index eb073da1..e9378389 100644
--- a/src/site/xdoc/JDBCDiskCache.xml
+++ b/src/site/xdoc/JDBCDiskCache.xml
@@ -74,7 +74,7 @@ thread_pool.disk_cache_event_queue.useBoundary=true
 thread_pool.disk_cache_event_queue.boundarySize=1000
 thread_pool.disk_cache_event_queue.maximumPoolSize=50
 thread_pool.disk_cache_event_queue.minimumPoolSize=10
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5s
 thread_pool.disk_cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.disk_cache_event_queue.startUpSize=10
         ]]>
@@ -139,7 +139,7 @@ thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.boundarySize=500
 thread_pool.disk_cache_event_queue.maximumPoolSize=15
 thread_pool.disk_cache_event_queue.minimumPoolSize=10
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5s
 thread_pool.disk_cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.disk_cache_event_queue.startUpSize=10
         ]]>
@@ -201,7 +201,7 @@ thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.boundarySize=500
 thread_pool.disk_cache_event_queue.maximumPoolSize=15
 thread_pool.disk_cache_event_queue.minimumPoolSize=10
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5s
 thread_pool.disk_cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.disk_cache_event_queue.startUpSize=10
         ]]>
diff --git a/src/site/xdoc/JDBCDiskCacheProperties.xml 
b/src/site/xdoc/JDBCDiskCacheProperties.xml
index 5f9396dd..40d8ed45 100644
--- a/src/site/xdoc/JDBCDiskCacheProperties.xml
+++ b/src/site/xdoc/JDBCDiskCacheProperties.xml
@@ -260,7 +260,7 @@ thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.boundarySize=500
 thread_pool.disk_cache_event_queue.maximumPoolSize=15
 thread_pool.disk_cache_event_queue.minimumPoolSize=10
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5s
 thread_pool.disk_cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.disk_cache_event_queue.startUpSize=10
         ]]>
diff --git a/src/site/xdoc/MySQLDiskCacheProperties.xml 
b/src/site/xdoc/MySQLDiskCacheProperties.xml
index 37f12406..559d0fb6 100644
--- a/src/site/xdoc/MySQLDiskCacheProperties.xml
+++ b/src/site/xdoc/MySQLDiskCacheProperties.xml
@@ -181,7 +181,7 @@ thread_pool.disk_cache_event_queue.useBoundary=false
 thread_pool.disk_cache_event_queue.boundarySize=500
 thread_pool.disk_cache_event_queue.maximumPoolSize=15
 thread_pool.disk_cache_event_queue.minimumPoolSize=10
-thread_pool.disk_cache_event_queue.keepAliveTime=3500
+thread_pool.disk_cache_event_queue.keepAliveTime=PT3.5s
 thread_pool.disk_cache_event_queue.whenBlockedPolicy=RUN
 thread_pool.disk_cache_event_queue.startUpSize=10
         ]]>
diff --git a/src/site/xdoc/UpgradingFrom3x.xml 
b/src/site/xdoc/UpgradingFrom3x.xml
index 3c8f21ef..bc7c85bb 100644
--- a/src/site/xdoc/UpgradingFrom3x.xml
+++ b/src/site/xdoc/UpgradingFrom3x.xml
@@ -124,6 +124,7 @@ java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] %3$s 
[%4$-7s] %5$s %n
       <subsection name="Changed Configuration Behavior">
         <p>
           JCS 4.0.0 tries to pull some long-standing configuration 
inconsistencies straight.
+          Note that configuration keys are case-sensitive.
           The following configuration keys have been renamed or removed:
 
           <table>
@@ -157,9 +158,39 @@ java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] 
%3$s [%4$-7s] %5$s %n
           drawn from the associated factory. Again, see the examples in 
<code>src/test/test-conf</code>.
         </p>
         <p>
-          The configuration holder objects CompositeCacheAttributes and 
ElementAttributes 
-          are now implemented as Java records and - as such - are largely 
immutable. This 
-          makes them much more robust against side-effects in concurrent 
environments.
+          The configuration holder objects CompositeCacheAttributes, 
ElementAttributes
+          and PoolConfiguration are now implemented as Java records and - as 
such - are largely 
+          immutable. This makes them much more robust against side-effects in 
concurrent 
+          environments.
+        </p>
+        <p>
+          Time related configuration items are now represented as 
<code>java.time.Duration</code>
+          internally. The corresponding configuration file properties are 
being parsed using
+          <code>Duration.parse()</code> and use the syntax documented 
+          <a 
href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html#parse(java.lang.CharSequence)">here</a>.
+          If parsing fails, the value is assumed to be a millisecond duration. 
This change affects
+          the following configuration keys:
+          
+          <table>
+            <tr>
+              <th>Attribute Type</th>
+              <th>Property Name</th>
+              <th>Default Value</th>
+            </tr>
+            <tr>
+              <td>Thread Pool Configuration (thread_pool)</td>
+              <td>keepAliveTime</td>
+              <td>PT5M</td>
+            </tr>
+            <tr>
+              <td>Region configuration (cacheattributes)</td>
+              <td>DiskUsagePatternName</td>
+            </tr>
+            <tr>
+              <td>Element configuration (elementattributes)</td>
+              <td>IdleTime</td>
+            </tr>
+          </table>
         </p>
       </subsection>
     </section>


Reply via email to