You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by tv...@apache.org on 2026/03/19 09:13:49 UTC
(commons-jcs) 05/11: Change type of CompositeCacheAttributes.ShrinkerInterval to Duration
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 e6a509e8dacf2aac32f9287b6563d30ddde0f611
Author: Thomas Vandahl <tv...@apache.org>
AuthorDate: Wed Mar 18 15:38:13 2026 +0100
Change type of CompositeCacheAttributes.ShrinkerInterval to Duration
---
.../apache/commons/jcs4/engine/CompositeCacheAttributes.java | 12 +++++++-----
.../jcs4/engine/behavior/ICompositeCacheAttributes.java | 5 +++--
.../apache/commons/jcs4/engine/control/CompositeCache.java | 2 +-
commons-jcs4-core/src/test/conf/cache.ccf | 5 +----
commons-jcs4-core/src/test/conf/remote.cache.ccf | 8 +-------
.../commons/jcs4/engine/TestCompositeCacheAttributes.java | 10 +++++-----
commons-jcs4-core/src/test/test-conf/TestHSQLDiskCache.ccf | 2 +-
.../src/test/test-conf/TestHSQLDiskCacheConcurrent.ccf | 2 +-
commons-jcs4-core/src/test/test-conf/TestJCS-73.ccf | 2 +-
commons-jcs4-core/src/test/test-conf/TestJDBCDiskCache.ccf | 2 +-
.../src/test/test-conf/TestJDBCDiskCacheRemoval.ccf | 2 +-
.../src/test/test-conf/TestJDBCDiskCacheSharedPool.ccf | 2 +-
.../src/test/test-conf/TestJDBCDiskCacheShrink.ccf | 2 +-
commons-jcs4-core/src/test/test-conf/TestMRUCache.ccf | 2 +-
commons-jcs4-core/src/test/test-conf/TestMySQLDiskCache.ccf | 2 +-
commons-jcs4-core/src/test/test-conf/TestRemoteClient.ccf | 2 +-
commons-jcs4-core/src/test/test-conf/TestRemoteHttpCache.ccf | 2 +-
commons-jcs4-core/src/test/test-conf/TestRemoteServer.ccf | 4 ++--
commons-jcs4-core/src/test/test-conf/TestZeroSizeCache.ccf | 2 +-
.../org/apache/commons/jcs4/jcache/JCSCachingManager.java | 2 +-
src/site/xdoc/BasicJCSConfiguration.xml | 6 +++---
src/site/xdoc/ElementAttributes.xml | 2 +-
src/site/xdoc/IndexedDiskAuxCache.xml | 2 +-
src/site/xdoc/JDBCDiskCache.xml | 6 +++---
src/site/xdoc/RegionProperties.xml | 4 ++--
src/site/xdoc/UpgradingFrom3x.xml | 10 ++++++++++
src/site/xdoc/getting_started/intro.xml | 4 ++--
27 files changed, 55 insertions(+), 51 deletions(-)
diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/CompositeCacheAttributes.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/CompositeCacheAttributes.java
index 6b5484af..c4355cdf 100644
--- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/CompositeCacheAttributes.java
+++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/CompositeCacheAttributes.java
@@ -19,6 +19,8 @@ package org.apache.commons.jcs4.engine;
* under the License.
*/
+import java.time.Duration;
+
import org.apache.commons.jcs4.engine.behavior.ICompositeCacheAttributes;
/**
@@ -38,8 +40,8 @@ public record CompositeCacheAttributes(
/** Whether or not we should run the memory shrinker thread. */
boolean UseMemoryShrinker,
- /** ShrinkerIntervalSeconds */
- long ShrinkerIntervalSeconds,
+ /** ShrinkerInterval */
+ Duration ShrinkerInterval,
/** The maximum number the shrinker will spool to disk per run. */
int MaxSpoolPerRun,
@@ -67,7 +69,7 @@ public record CompositeCacheAttributes(
private static final boolean DEFAULT_USE_SHRINKER = false;
/** Default interval to run the shrinker */
- private static final int DEFAULT_SHRINKER_INTERVAL_SECONDS = 30;
+ private static final Duration DEFAULT_SHRINKER_INTERVAL = Duration.ofSeconds(30);
/** Default */
private static final int DEFAULT_MAX_SPOOL_PER_RUN = -1;
@@ -86,7 +88,7 @@ public record CompositeCacheAttributes(
null,
DEFAULT_MAX_OBJECTS,
DEFAULT_USE_SHRINKER,
- DEFAULT_SHRINKER_INTERVAL_SECONDS,
+ DEFAULT_SHRINKER_INTERVAL,
DEFAULT_MAX_SPOOL_PER_RUN,
DEFAULT_MAX_MEMORY_IDLE_TIME_SECONDS,
DEFAULT_MEMORY_CACHE_NAME,
@@ -113,7 +115,7 @@ public record CompositeCacheAttributes(
return new CompositeCacheAttributes(s,
MaxObjects(),
UseMemoryShrinker(),
- ShrinkerIntervalSeconds(),
+ ShrinkerInterval(),
MaxSpoolPerRun(),
MaxMemoryIdleTimeSeconds(),
MemoryCacheName(),
diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICompositeCacheAttributes.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICompositeCacheAttributes.java
index e7727720..abc912f1 100644
--- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICompositeCacheAttributes.java
+++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICompositeCacheAttributes.java
@@ -20,6 +20,7 @@ package org.apache.commons.jcs4.engine.behavior;
*/
import java.io.Serializable;
+import java.time.Duration;
/**
* This defines the minimal behavior for the Cache Configuration settings.
@@ -86,9 +87,9 @@ public interface ICompositeCacheAttributes
* If UseMemoryShrinker is true the memory cache should auto-expire elements
* to reclaim space. This gets the shrinker interval.
*
- * @return The ShrinkerIntervalSeconds value
+ * @return The ShrinkerInterval value
*/
- long ShrinkerIntervalSeconds();
+ Duration ShrinkerInterval();
/**
* Number to send to disk at time when memory is full.
diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/CompositeCache.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/CompositeCache.java
index 7ce1642d..6a947864 100644
--- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/CompositeCache.java
+++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/CompositeCache.java
@@ -1413,7 +1413,7 @@ public class CompositeCache<K, V>
if (cacheAttr.UseMemoryShrinker())
{
future = scheduledExecutor.scheduleAtFixedRate(
- new ShrinkerThread<>(this), 0, cacheAttr.ShrinkerIntervalSeconds(),
+ new ShrinkerThread<>(this), 0, cacheAttr.ShrinkerInterval().toSeconds(),
TimeUnit.SECONDS);
}
diff --git a/commons-jcs4-core/src/test/conf/cache.ccf b/commons-jcs4-core/src/test/conf/cache.ccf
index cfc3fc5e..2250506d 100644
--- a/commons-jcs4-core/src/test/conf/cache.ccf
+++ b/commons-jcs4-core/src/test/conf/cache.ccf
@@ -18,13 +18,10 @@
# ################# DEFAULT CACHE REGION #####################
# sets the default aux value for any non configured caches
jcs.default=DC
-jcs.default.cacheattributes=org.apache.commons.jcs4.engine.CompositeCacheAttributes
jcs.default.cacheattributes.MaxObjects=200001
-jcs.default.cacheattributes.MemoryCacheName=org.apache.commons.jcs4.engine.memory.lru.LRUMemoryCache
jcs.default.cacheattributes.UseMemoryShrinker=true
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
-jcs.default.elementattributes=org.apache.commons.jcs4.engine.ElementAttributes
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=700
jcs.default.elementattributes.MaxIdleTime=1800
diff --git a/commons-jcs4-core/src/test/conf/remote.cache.ccf b/commons-jcs4-core/src/test/conf/remote.cache.ccf
index 987091bc..65c0e413 100644
--- a/commons-jcs4-core/src/test/conf/remote.cache.ccf
+++ b/commons-jcs4-core/src/test/conf/remote.cache.ccf
@@ -28,13 +28,10 @@ jcs.remotecache.serverattributes.LocalClusterConsistency=true
# ################# DEFAULT CACHE REGION #####################
# sets the default aux value for any non configured caches
jcs.default=DC,RCluster
-jcs.default.cacheattributes=org.apache.commons.jcs4.engine.CompositeCacheAttributes
jcs.default.cacheattributes.MaxObjects=200000
-jcs.default.cacheattributes.MemoryCacheName=org.apache.commons.jcs4.engine.memory.lru.LRUMemoryCache
jcs.default.cacheattributes.UseMemoryShrinker=true
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
-jcs.default.elementattributes=org.apache.commons.jcs4.engine.ElementAttributes
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=7000
jcs.default.elementattributes.MaxIdleTime=1800
@@ -46,7 +43,6 @@ jcs.default.elementattributes.IsLateral=true
# #############################################################
# ################# CACHE REGIONS AVAILABLE ###################
jcs.region.testCache1=DC,RCluster
-jcs.region.testCache1.cacheattributes=org.apache.commons.jcs4.engine.CompositeCacheAttributes
jcs.region.testCache1.cacheattributes.MaxObjects=200002
@@ -54,7 +50,6 @@ jcs.region.testCache1.cacheattributes.MaxObjects=200002
# ################# AUXILIARY CACHES AVAILABLE ################
# server to update for clustering -- remote.cache2.ccf(1102) and remote.cache3.ccf(1103)
jcs.auxiliary.RCluster=org.apache.commons.jcs4.auxiliary.remote.RemoteCacheFactory
-jcs.auxiliary.RCluster.attributes=org.apache.commons.jcs4.auxiliary.remote.RemoteCacheAttributes
jcs.auxiliary.RCluster.attributes.RemoteTypeName=CLUSTER
jcs.auxiliary.RCluster.attributes.RemoveUponRemotePut=false
jcs.auxiliary.RCluster.attributes.ClusterServers=localhost:1102
@@ -63,6 +58,5 @@ jcs.auxiliary.RCluster.attributes.LocalClusterConsistency=true
jcs.auxiliary.DC=org.apache.commons.jcs4.auxiliary.disk.indexed.IndexedDiskCacheFactory
-jcs.auxiliary.DC.attributes=org.apache.commons.jcs4.auxiliary.disk.indexed.IndexedDiskCacheAttributes
jcs.auxiliary.DC.attributes.DiskPath=@project_home@/raf/remote
diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/TestCompositeCacheAttributes.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/TestCompositeCacheAttributes.java
index 4e3ff276..0771c477 100644
--- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/TestCompositeCacheAttributes.java
+++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/TestCompositeCacheAttributes.java
@@ -41,7 +41,7 @@ public class TestCompositeCacheAttributes
return new CompositeCacheAttributes(CompositeCacheAttributes.defaults().cacheName(),
maxObjects,
CompositeCacheAttributes.defaults().UseMemoryShrinker(),
- CompositeCacheAttributes.defaults().ShrinkerIntervalSeconds(),
+ CompositeCacheAttributes.defaults().ShrinkerInterval(),
CompositeCacheAttributes.defaults().MaxSpoolPerRun(),
CompositeCacheAttributes.defaults().MaxMemoryIdleTimeSeconds(),
memoryCacheName,
@@ -62,7 +62,7 @@ public class TestCompositeCacheAttributes
return new CompositeCacheAttributes(CompositeCacheAttributes.defaults().cacheName(),
CompositeCacheAttributes.defaults().MaxObjects(),
CompositeCacheAttributes.defaults().UseMemoryShrinker(),
- CompositeCacheAttributes.defaults().ShrinkerIntervalSeconds(),
+ CompositeCacheAttributes.defaults().ShrinkerInterval(),
maxSpoolPerRun,
maxMemoryIdleTimeSeconds,
memoryCacheName,
@@ -81,7 +81,7 @@ public class TestCompositeCacheAttributes
return new CompositeCacheAttributes(CompositeCacheAttributes.defaults().cacheName(),
maxObjects,
CompositeCacheAttributes.defaults().UseMemoryShrinker(),
- CompositeCacheAttributes.defaults().ShrinkerIntervalSeconds(),
+ CompositeCacheAttributes.defaults().ShrinkerInterval(),
CompositeCacheAttributes.defaults().MaxSpoolPerRun(),
CompositeCacheAttributes.defaults().MaxMemoryIdleTimeSeconds(),
CompositeCacheAttributes.defaults().MemoryCacheName(),
@@ -99,7 +99,7 @@ public class TestCompositeCacheAttributes
return new CompositeCacheAttributes(CompositeCacheAttributes.defaults().cacheName(),
CompositeCacheAttributes.defaults().MaxObjects(),
CompositeCacheAttributes.defaults().UseMemoryShrinker(),
- CompositeCacheAttributes.defaults().ShrinkerIntervalSeconds(),
+ CompositeCacheAttributes.defaults().ShrinkerInterval(),
CompositeCacheAttributes.defaults().MaxSpoolPerRun(),
maxMemoryIdleTimeSeconds,
CompositeCacheAttributes.defaults().MemoryCacheName(),
@@ -117,7 +117,7 @@ public class TestCompositeCacheAttributes
return new CompositeCacheAttributes(CompositeCacheAttributes.defaults().cacheName(),
CompositeCacheAttributes.defaults().MaxObjects(),
CompositeCacheAttributes.defaults().UseMemoryShrinker(),
- CompositeCacheAttributes.defaults().ShrinkerIntervalSeconds(),
+ CompositeCacheAttributes.defaults().ShrinkerInterval(),
CompositeCacheAttributes.defaults().MaxSpoolPerRun(),
CompositeCacheAttributes.defaults().MaxMemoryIdleTimeSeconds(),
CompositeCacheAttributes.defaults().MemoryCacheName(),
diff --git a/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCache.ccf b/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCache.ccf
index bd1fbaf5..5a781cf1 100644
--- a/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCache.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCache.ccf
@@ -21,7 +21,7 @@ jcs.default=HSQL
jcs.default.cacheattributes.MaxObjects=0
jcs.default.cacheattributes.UseMemoryShrinker=false
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=700
jcs.default.elementattributes.MaxIdleTime=1800
diff --git a/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCacheConcurrent.ccf b/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCacheConcurrent.ccf
index d05e7e8c..c4a82df8 100644
--- a/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCacheConcurrent.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCacheConcurrent.ccf
@@ -21,7 +21,7 @@ jcs.default=HSQL
jcs.default.cacheattributes.MaxObjects=0
jcs.default.cacheattributes.UseMemoryShrinker=false
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=700
jcs.default.elementattributes.MaxIdleTime=1800
diff --git a/commons-jcs4-core/src/test/test-conf/TestJCS-73.ccf b/commons-jcs4-core/src/test/test-conf/TestJCS-73.ccf
index b466763c..d615f974 100644
--- a/commons-jcs4-core/src/test/test-conf/TestJCS-73.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestJCS-73.ccf
@@ -21,7 +21,7 @@ jcs.default.cacheattributes.MaxObjects=-1
jcs.default.cacheattributes.DiskUsagePattern=UPDATE
jcs.default.cacheattributes.UseMemoryShrinker=true
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=10
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=10
+jcs.default.cacheattributes.ShrinkerInterval=PT10s
jcs.default.elementattributes.IsRemote=false
jcs.default.elementattributes.IsLateral=false
jcs.default.elementattributes.IsEternal=true
diff --git a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCache.ccf b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCache.ccf
index fedbb061..4c4dbee6 100644
--- a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCache.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCache.ccf
@@ -20,7 +20,7 @@
jcs.default=JDBC
jcs.default.cacheattributes.UseMemoryShrinker=false
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=700
jcs.default.elementattributes.MaxIdleTime=1800
diff --git a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheRemoval.ccf b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheRemoval.ccf
index 70a6d8f7..e71e1295 100644
--- a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheRemoval.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheRemoval.ccf
@@ -21,7 +21,7 @@ jcs.default=JDBC
jcs.default.cacheattributes.MaxObjects=0
jcs.default.cacheattributes.UseMemoryShrinker=false
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=700
jcs.default.elementattributes.MaxIdleTime=1800
diff --git a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheSharedPool.ccf b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheSharedPool.ccf
index 3bbf75e0..3038c078 100644
--- a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheSharedPool.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheSharedPool.ccf
@@ -20,7 +20,7 @@
jcs.default=JDBC_0
jcs.default.cacheattributes.UseMemoryShrinker=false
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=700
jcs.default.elementattributes.MaxIdleTime=1800
diff --git a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheShrink.ccf b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheShrink.ccf
index a45401bf..92ff99ed 100644
--- a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheShrink.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheShrink.ccf
@@ -20,7 +20,7 @@
jcs.default=JDBC
jcs.default.cacheattributes.UseMemoryShrinker=false
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=700
jcs.default.elementattributes.MaxIdleTime=1800
diff --git a/commons-jcs4-core/src/test/test-conf/TestMRUCache.ccf b/commons-jcs4-core/src/test/test-conf/TestMRUCache.ccf
index 306f2200..470ad265 100644
--- a/commons-jcs4-core/src/test/test-conf/TestMRUCache.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestMRUCache.ccf
@@ -22,7 +22,7 @@ jcs.default.cacheattributes.MaxObjects=1000
jcs.default.cacheattributes.MemoryCacheName=org.apache.commons.jcs4.engine.memory.mru.MRUMemoryCache
jcs.default.cacheattributes.UseMemoryShrinker=true
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=1
+jcs.default.cacheattributes.ShrinkerInterval=PT1s
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=600
jcs.default.elementattributes.MaxIdleTime=1800
diff --git a/commons-jcs4-core/src/test/test-conf/TestMySQLDiskCache.ccf b/commons-jcs4-core/src/test/test-conf/TestMySQLDiskCache.ccf
index f602bdc1..92615687 100644
--- a/commons-jcs4-core/src/test/test-conf/TestMySQLDiskCache.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestMySQLDiskCache.ccf
@@ -23,7 +23,7 @@ jcs.default=MYSQL
jcs.default.cacheattributes.MaxObjects=0
jcs.default.cacheattributes.UseMemoryShrinker=false
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=700
jcs.default.elementattributes.MaxIdleTime=1800
diff --git a/commons-jcs4-core/src/test/test-conf/TestRemoteClient.ccf b/commons-jcs4-core/src/test/test-conf/TestRemoteClient.ccf
index 737a86a7..feff2939 100644
--- a/commons-jcs4-core/src/test/test-conf/TestRemoteClient.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestRemoteClient.ccf
@@ -21,7 +21,7 @@ jcs.default=RC
jcs.default.cacheattributes.MaxObjects=200001
jcs.default.cacheattributes.UseMemoryShrinker=true
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=700
jcs.default.elementattributes.MaxIdleTime=1800
diff --git a/commons-jcs4-core/src/test/test-conf/TestRemoteHttpCache.ccf b/commons-jcs4-core/src/test/test-conf/TestRemoteHttpCache.ccf
index e43561da..f5977a87 100644
--- a/commons-jcs4-core/src/test/test-conf/TestRemoteHttpCache.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestRemoteHttpCache.ccf
@@ -21,7 +21,7 @@ jcs.default=RC
jcs.default.cacheattributes.MaxObjects=0
jcs.default.cacheattributes.UseMemoryShrinker=true
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=700
jcs.default.elementattributes.MaxIdleTime=1800
diff --git a/commons-jcs4-core/src/test/test-conf/TestRemoteServer.ccf b/commons-jcs4-core/src/test/test-conf/TestRemoteServer.ccf
index bccfbe39..97ba0acf 100644
--- a/commons-jcs4-core/src/test/test-conf/TestRemoteServer.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestRemoteServer.ccf
@@ -31,8 +31,8 @@ jcs.default=
jcs.default.cacheattributes.MaxObjects=200000
jcs.default.cacheattributes.UseMemoryShrinker=true
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=7000
jcs.default.elementattributes.MaxIdleTime=1800
diff --git a/commons-jcs4-core/src/test/test-conf/TestZeroSizeCache.ccf b/commons-jcs4-core/src/test/test-conf/TestZeroSizeCache.ccf
index a455d266..40f53809 100644
--- a/commons-jcs4-core/src/test/test-conf/TestZeroSizeCache.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestZeroSizeCache.ccf
@@ -21,7 +21,7 @@ jcs.default=
jcs.default.cacheattributes.MaxObjects=0
jcs.default.cacheattributes.UseMemoryShrinker=true
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=1
+jcs.default.cacheattributes.ShrinkerInterval=PT1s
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=600
jcs.default.elementattributes.MaxIdleTime=1800
diff --git a/commons-jcs4-jcache/src/main/java/org/apache/commons/jcs4/jcache/JCSCachingManager.java b/commons-jcs4-jcache/src/main/java/org/apache/commons/jcs4/jcache/JCSCachingManager.java
index c5bd2823..7842a0c7 100644
--- a/commons-jcs4-jcache/src/main/java/org/apache/commons/jcs4/jcache/JCSCachingManager.java
+++ b/commons-jcs4-jcache/src/main/java/org/apache/commons/jcs4/jcache/JCSCachingManager.java
@@ -83,7 +83,7 @@ public class JCSCachingManager implements CacheManager
jcs.default.cacheattributes.MemoryCacheName=org.apache.commons.jcs4.engine.memory.lru.LRUMemoryCache
jcs.default.cacheattributes.UseMemoryShrinker=true
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
- jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+ jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes=org.apache.commons.jcs4.engine.ElementAttributes
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=700
diff --git a/src/site/xdoc/BasicJCSConfiguration.xml b/src/site/xdoc/BasicJCSConfiguration.xml
index 6dfe109a..508da08a 100644
--- a/src/site/xdoc/BasicJCSConfiguration.xml
+++ b/src/site/xdoc/BasicJCSConfiguration.xml
@@ -54,7 +54,7 @@ jcs.default.cacheattributes.MaxObjects=1000
<source><![CDATA[
jcs.default.cacheattributes.UseMemoryShrinker=true
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.cacheattributes.MaxSpoolPerRun=500
jcs.default.elementattributes.IsEternal=false
]]></source>
@@ -85,7 +85,7 @@ jcs.region.testCache1=DC
jcs.region.testCache1.cacheattributes.MaxObjects=1000
jcs.region.testCache1.cacheattributes.UseMemoryShrinker=true
jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.region.testCache1.cacheattributes.ShrinkerInterval=PT1m
jcs.region.testCache1.cacheattributes.MaxSpoolPerRun=500
jcs.region.testCache1.elementattributes.IsEternal=false
]]></source>
@@ -141,7 +141,7 @@ jcs.region.testCache1=DC,LTCP
jcs.region.testCache1.cacheattributes.MaxObjects=1000
jcs.region.testCache1.cacheattributes.UseMemoryShrinker=true
jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.region.testCache1.cacheattributes.ShrinkerInterval=PT1m
jcs.region.testCache1.cacheattributes.MaxSpoolPerRun=500
jcs.region.testCache1.elementattributes.IsEternal=false
diff --git a/src/site/xdoc/ElementAttributes.xml b/src/site/xdoc/ElementAttributes.xml
index fbfb6162..9f74fbf4 100644
--- a/src/site/xdoc/ElementAttributes.xml
+++ b/src/site/xdoc/ElementAttributes.xml
@@ -51,7 +51,7 @@ jcs.default=DC
jcs.default.cacheattributes.MaxObjects=1000
jcs.default.cacheattributes.UseMemoryShrinker=true
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=700
jcs.default.elementattributes.MaxIdleTime=1800
diff --git a/src/site/xdoc/IndexedDiskAuxCache.xml b/src/site/xdoc/IndexedDiskAuxCache.xml
index 94f12fb5..3fe1fe17 100644
--- a/src/site/xdoc/IndexedDiskAuxCache.xml
+++ b/src/site/xdoc/IndexedDiskAuxCache.xml
@@ -239,7 +239,7 @@ jcs.default=DC2
jcs.default.cacheattributes.MaxObjects=200001
jcs.default.cacheattributes.UseMemoryShrinker=false
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=700
jcs.default.elementattributes.MaxIdleTime=1800
diff --git a/src/site/xdoc/JDBCDiskCache.xml b/src/site/xdoc/JDBCDiskCache.xml
index e9378389..4f3a769d 100644
--- a/src/site/xdoc/JDBCDiskCache.xml
+++ b/src/site/xdoc/JDBCDiskCache.xml
@@ -41,7 +41,7 @@ jcs.default=MYSQL,RCluster
jcs.default.cacheattributes.MaxObjects=5000
jcs.default.cacheattributes.UseMemoryShrinker=true
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=7200
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=14400
jcs.default.elementattributes.MaxIdleTime=14400
@@ -90,7 +90,7 @@ thread_pool.disk_cache_event_queue.startUpSize=10
jcs.default=JDBC_0
jcs.default.cacheattributes.UseMemoryShrinker=false
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=700
jcs.default.elementattributes.MaxIdleTime=1800
@@ -155,7 +155,7 @@ thread_pool.disk_cache_event_queue.startUpSize=10
jcs.default=JDBC_0
jcs.default.cacheattributes.UseMemoryShrinker=false
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=700
jcs.default.elementattributes.MaxIdleTime=1800
diff --git a/src/site/xdoc/RegionProperties.xml b/src/site/xdoc/RegionProperties.xml
index 9e479841..a5f23d70 100644
--- a/src/site/xdoc/RegionProperties.xml
+++ b/src/site/xdoc/RegionProperties.xml
@@ -260,14 +260,14 @@ jcs.default=
jcs.default.cacheattributes.MaxObjects=200001
jcs.default.cacheattributes.UseMemoryShrinker=true
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=700
# optional region "testCache1" specific configuration settings (only those that differ from default)
jcs.region.testCache1=
jcs.region.testCache1.cacheattributes.MaxObjects=123456
-jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=30
+jcs.region.testCache1.cacheattributes.ShrinkerInterval=PT30s
jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=300
jcs.region.testCache1.cacheattributes.MaxSpoolPerRun=100
jcs.region.testCache1.elementattributes.MaxLife=60000
diff --git a/src/site/xdoc/UpgradingFrom3x.xml b/src/site/xdoc/UpgradingFrom3x.xml
index 0bdd6953..b1105516 100644
--- a/src/site/xdoc/UpgradingFrom3x.xml
+++ b/src/site/xdoc/UpgradingFrom3x.xml
@@ -138,6 +138,11 @@ java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] %3$s [%4$-7s] %5$s %n
<td>DiskUsagePatternName</td>
<td>DiskUsagePattern</td>
</tr>
+ <tr>
+ <td></td>
+ <td>ShrinkerIntervalSeconds</td>
+ <td>ShrinkerInterval</td>
+ </tr>
<tr>
<td>Element configuration (ElementAttributes)</td>
<td>IdleTime</td>
@@ -182,6 +187,11 @@ java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] %3$s [%4$-7s] %5$s %n
<th>Property Name</th>
<th>Default Value</th>
</tr>
+ <tr>
+ <td>Region configuration (CompositeCacheAttributes)</td>
+ <td>ShrinkerInterval</td>
+ <td>PT30s</td>
+ </tr>
<tr>
<td>Thread Pool Configuration (thread_pool, PoolConfiguration)</td>
<td>keepAliveTime</td>
diff --git a/src/site/xdoc/getting_started/intro.xml b/src/site/xdoc/getting_started/intro.xml
index 277f323c..7faf8453 100644
--- a/src/site/xdoc/getting_started/intro.xml
+++ b/src/site/xdoc/getting_started/intro.xml
@@ -151,7 +151,7 @@ jcs.default=DC
jcs.default.cacheattributes.MaxObjects=1000
jcs.default.cacheattributes.UseMemoryShrinker=false
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.cacheattributes.ShrinkerInterval=PT1m
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLife=21600
jcs.default.elementattributes.MaxIdleTime=1800
@@ -161,7 +161,7 @@ jcs.region.testCache1=DC
jcs.region.testCache1.cacheattributes.MaxObjects=1000
jcs.region.testCache1.cacheattributes.UseMemoryShrinker=false
jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.region.testCache1.cacheattributes.ShrinkerInterval=PT1m
jcs.region.testCache1.cacheattributes.MaxSpoolPerRun=500
jcs.region.testCache1.elementattributes.IsEternal=false