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 4ce038a85d7a548bf9faabd188a54902f9661118 Author: Thomas Vandahl <[email protected]> AuthorDate: Thu Mar 19 09:02:21 2026 +0100 Change type of ElementAttributes.MaxLife and MaxIdleTime to Duration --- .../commons/jcs4/admin/CacheElementInfo.java | 6 ++++-- .../jcs4/auxiliary/disk/jdbc/JDBCDiskCache.java | 19 ++++++++-------- .../commons/jcs4/engine/ElementAttributes.java | 25 +++++++--------------- .../jcs4/engine/behavior/IElementAttributes.java | 12 +++-------- .../jcs4/engine/control/CompositeCache.java | 10 ++++----- commons-jcs4-core/src/test/conf/cache.ccf | 4 ++-- commons-jcs4-core/src/test/conf/remote.cache.ccf | 4 ++-- .../commons/jcs4/access/CacheAccessUnitTest.java | 8 +++---- .../remote/RemoteCacheListenerUnitTest.java | 8 +++++-- .../commons/jcs4/engine/TestElementAttributes.java | 10 ++++----- .../control/event/SimpleEventHandlingUnitTest.java | 4 ++-- .../memory/shrinking/ShrinkerThreadUnitTest.java | 19 ++++++++++------ .../SerializationConversionUtilUnitTest.java | 10 ++++++--- .../src/test/test-conf/TestHSQLDiskCache.ccf | 4 ++-- .../test/test-conf/TestHSQLDiskCacheConcurrent.ccf | 4 ++-- .../src/test/test-conf/TestJDBCDiskCache.ccf | 4 ++-- .../test/test-conf/TestJDBCDiskCacheRemoval.ccf | 4 ++-- .../test/test-conf/TestJDBCDiskCacheSharedPool.ccf | 4 ++-- .../src/test/test-conf/TestJDBCDiskCacheShrink.ccf | 10 ++++----- .../src/test/test-conf/TestMRUCache.ccf | 4 ++-- .../src/test/test-conf/TestMySQLDiskCache.ccf | 4 ++-- .../src/test/test-conf/TestRemoteClient.ccf | 4 ++-- .../src/test/test-conf/TestRemoteHttpCache.ccf | 4 ++-- .../src/test/test-conf/TestRemoteServer.ccf | 4 ++-- .../src/test/test-conf/TestSimpleEventHandling.ccf | 6 +++--- .../src/test/test-conf/TestSoftReferenceCache.ccf | 4 ++-- .../src/test/test-conf/TestZeroSizeCache.ccf | 4 ++-- .../org/apache/commons/jcs4/jcache/JCSCache.java | 18 +++++++--------- .../commons/jcs4/jcache/JCSCachingManager.java | 4 ++-- src/site/xdoc/ElementAttributes.xml | 20 ++++++++--------- src/site/xdoc/IndexedDiskAuxCache.xml | 4 ++-- src/site/xdoc/JDBCDiskCache.xml | 14 ++++++------ src/site/xdoc/RegionProperties.xml | 4 ++-- src/site/xdoc/UsingJCSBasicWeb.xml | 8 +++---- src/site/xdoc/getting_started/intro.xml | 4 ++-- 35 files changed, 137 insertions(+), 142 deletions(-) diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/admin/CacheElementInfo.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/admin/CacheElementInfo.java index f88d1adf..d31274dd 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/admin/CacheElementInfo.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/admin/CacheElementInfo.java @@ -1,5 +1,7 @@ package org.apache.commons.jcs4.admin; +import java.time.Duration; + /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -33,7 +35,7 @@ public record CacheElementInfo( String createTime, /** Max life */ - long maxLifeSeconds, + Duration maxLife, /** When it will expire */ long expiresInSeconds @@ -50,7 +52,7 @@ public record CacheElementInfo( buf.append( "\n Key [" ).append( key() ).append( "]" ); buf.append( "\n Eternal [" ).append( eternal() ).append( "]" ); buf.append( "\n CreateTime [" ).append( createTime() ).append( "]" ); - buf.append( "\n MaxLifeSeconds [" ).append( maxLifeSeconds() ).append( "]" ); + buf.append( "\n MaxLifeSeconds [" ).append( maxLife() ).append( "]" ); buf.append( "\n ExpiresInSeconds [" ).append( expiresInSeconds() ).append( "]" ); return buf.toString(); diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/JDBCDiskCache.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/JDBCDiskCache.java index 1d3a07af..6088c4ca 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/JDBCDiskCache.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/JDBCDiskCache.java @@ -25,6 +25,7 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; +import java.time.Instant; import java.util.HashMap; import java.util.Map; import java.util.Set; @@ -427,17 +428,17 @@ public class JDBCDiskCache<K, V> psInsert.setString( 1, ce.key().toString() ); psInsert.setString( 2, getCacheName() ); psInsert.setBytes( 3, element ); - psInsert.setLong( 4, ce.elementAttributes().MaxLife() ); + psInsert.setLong( 4, ce.elementAttributes().MaxLife().toSeconds() ); psInsert.setString( 5, ce.elementAttributes().IsEternal() ? "T" : "F" ); final Timestamp createTime = Timestamp.from(ce.elementAttributes().createTime()); psInsert.setTimestamp( 6, createTime ); - final long now = System.currentTimeMillis() / 1000; - psInsert.setLong( 7, now ); + final Instant now = Instant.now(); + psInsert.setLong( 7, now.getEpochSecond() ); - final long expireTime = now + ce.elementAttributes().MaxLife(); - psInsert.setLong( 8, expireTime ); + final Instant expireTime = now.plus(ce.elementAttributes().MaxLife()); + psInsert.setLong( 8, expireTime.getEpochSecond() ); psInsert.execute(); } @@ -480,11 +481,11 @@ public class JDBCDiskCache<K, V> final Timestamp createTime = Timestamp.from(ce.elementAttributes().createTime()); psUpdate.setTimestamp( 2, createTime ); - final long now = System.currentTimeMillis() / 1000; - psUpdate.setLong( 3, now ); + final Instant now = Instant.now(); + psUpdate.setLong( 3, now.getEpochSecond() ); - final long expireTime = now + ce.elementAttributes().MaxLife(); - psUpdate.setLong( 4, expireTime ); + final Instant expireTime = now.plus(ce.elementAttributes().MaxLife()); + psUpdate.setLong( 4, expireTime.getEpochSecond() ); psUpdate.setString( 5, (String) ce.key() ); psUpdate.setString( 6, getCacheName() ); diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/ElementAttributes.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/ElementAttributes.java index ae4f8b82..7fa28d89 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/ElementAttributes.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/ElementAttributes.java @@ -56,13 +56,13 @@ public record ElementAttributes( boolean IsEternal, /** Max life */ - long MaxLife, + Duration MaxLife, /** * The maximum time an entry can be idle. Setting this to -1 causes the idle time check to be * ignored. */ - long MaxIdleTime, + Duration MaxIdleTime, /** The creation time. This is used to enforce the max life. */ Instant createTime, @@ -70,9 +70,6 @@ public record ElementAttributes( /** The last access time. This is used to enforce the max idle time. */ LastAccessHolder mutableLastAccessTime, - /** The time factor to convert durations to milliseconds */ - long timeFactorForMilliseconds, - /** * The list of Event handlers to use. This is transient, since the event handlers cannot usually * be serialized. This means that you cannot attach a post serialization event to an item. @@ -109,11 +106,9 @@ public record ElementAttributes( /** Default */ private static final boolean DEFAULT_IS_ETERNAL = true; /** Default */ - private static final long DEFAULT_MAX_LIFE = -1; - /** Default */ - private static final long DEFAULT_MAX_IDLE_TIME = -1; + private static final Duration DEFAULT_MAX_LIFE = Duration.ofMillis(-1); /** Default */ - private static final long DEFAULT_TIME_FACTOR = 1000; + private static final Duration DEFAULT_MAX_IDLE_TIME = Duration.ofMillis(-1); /** Record with all defaults set */ private static final ElementAttributes DEFAULT = new ElementAttributes( @@ -125,7 +120,6 @@ public record ElementAttributes( DEFAULT_MAX_IDLE_TIME, Instant.EPOCH, new LastAccessHolder(Instant.EPOCH), - DEFAULT_TIME_FACTOR, new ArrayList<>()); /** @@ -158,7 +152,6 @@ public record ElementAttributes( from.MaxIdleTime(), Instant.now(), new LastAccessHolder(from.lastAccessTime()), - from.timeFactorForMilliseconds(), new ArrayList<>(from.elementEventHandlers())); } @@ -170,14 +163,12 @@ public record ElementAttributes( boolean isLateral, boolean isRemote, boolean isEternal, - long maxLife, - long maxIdleTime, - long timeFactorForMilliseconds + Duration maxLife, + Duration maxIdleTime ) { this(isSpool, isLateral, isRemote, isEternal, maxLife, maxIdleTime, - Instant.now(), new LastAccessHolder(Instant.EPOCH), timeFactorForMilliseconds, - new ArrayList<>()); + Instant.now(), new LastAccessHolder(Instant.EPOCH), new ArrayList<>()); this.mutableLastAccessTime.lastAccessTime = createTime(); } @@ -227,7 +218,7 @@ public record ElementAttributes( public Duration getTimeToLive() { final Instant now = Instant.now(); - return Duration.between(now, createTime().plusMillis(MaxLife() * timeFactorForMilliseconds())); + return Duration.between(now, createTime().plus(MaxLife())); } /** diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/IElementAttributes.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/IElementAttributes.java index 43ffeee9..53a98bcd 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/IElementAttributes.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/IElementAttributes.java @@ -64,7 +64,7 @@ public interface IElementAttributes extends Serializable * Gets the idleTime attribute of the IAttributes object * @return The idleTime value */ - long MaxIdleTime(); + Duration MaxIdleTime(); /** * This turns off expiration if it is true. @@ -104,20 +104,14 @@ public interface IElementAttributes extends Serializable Instant lastAccessTime(); /** - * Sets the MaxLife attribute of the IAttributes object. How many seconds it can live after + * Sets the MaxLife attribute of the IAttributes object. How long it can live after * creation. * <p> * If this is exceeded the element will not be returned, instead it will be removed. It will be * removed on retrieval, or removed actively if the memory shrinker is turned on. * @return The MaxLife value */ - long MaxLife(); - - /** - * Get the time factor to convert durations to milliseconds - * @return The time factor to convert durations to milliseconds - */ - long timeFactorForMilliseconds(); + Duration MaxLife(); /** * Sets the LastAccessTime as now of the IElementAttributes object 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 2d419f33..9e776c3a 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 @@ -20,6 +20,7 @@ package org.apache.commons.jcs4.engine.control; */ import java.io.IOException; +import java.time.Duration; import java.time.Instant; import java.util.ArrayList; import java.util.HashMap; @@ -998,25 +999,24 @@ public class CompositeCache<K, V> if (!attributes.IsEternal()) { // Remove if maxLife exceeded - final long maxLife = attributes.MaxLife(); + final Duration maxLife = attributes.MaxLife(); final Instant createTime = attributes.createTime(); - final long timeFactorForMilliseconds = attributes.timeFactorForMilliseconds(); - if (maxLife != -1 && timestamp.isAfter(createTime.plusMillis(maxLife * timeFactorForMilliseconds))) + if (!maxLife.isNegative() && timestamp.isAfter(createTime.plus(maxLife))) { log.debug("Exceeded maxLife: {0}", element::key); handleElementEvent(element, eventMaxlife); return true; } - final long idleTime = attributes.MaxIdleTime(); + final Duration idleTime = attributes.MaxIdleTime(); final Instant lastAccessTime = attributes.lastAccessTime(); // Remove if maxIdleTime exceeded // If you have a 0 size memory cache, then the last access will // not get updated. // you will need to set the idle time to -1. - if (idleTime != -1 && timestamp.isAfter(lastAccessTime.plusMillis(idleTime * timeFactorForMilliseconds))) + if (!idleTime.isNegative() && timestamp.isAfter(lastAccessTime.plus(idleTime))) { log.debug("Exceeded maxIdle: {0}", element::key); diff --git a/commons-jcs4-core/src/test/conf/cache.ccf b/commons-jcs4-core/src/test/conf/cache.ccf index db7bf102..e5b05e2e 100644 --- a/commons-jcs4-core/src/test/conf/cache.ccf +++ b/commons-jcs4-core/src/test/conf/cache.ccf @@ -23,8 +23,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=true jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=700 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT11m40s +jcs.default.elementattributes.MaxIdleTime=PT30m jcs.default.elementattributes.IsSpool=true jcs.default.elementattributes.IsRemote=true jcs.default.elementattributes.IsLateral=true diff --git a/commons-jcs4-core/src/test/conf/remote.cache.ccf b/commons-jcs4-core/src/test/conf/remote.cache.ccf index cd10bde6..8f40b2b9 100644 --- a/commons-jcs4-core/src/test/conf/remote.cache.ccf +++ b/commons-jcs4-core/src/test/conf/remote.cache.ccf @@ -33,8 +33,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=true jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=7000 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT1h56m40s +jcs.default.elementattributes.MaxIdleTime=PT30m jcs.default.elementattributes.IsSpool=true jcs.default.elementattributes.IsRemote=true jcs.default.elementattributes.IsLateral=true diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/access/CacheAccessUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/access/CacheAccessUnitTest.java index 8539e6fb..dd0f4bc1 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/access/CacheAccessUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/access/CacheAccessUnitTest.java @@ -114,7 +114,7 @@ class CacheAccessUnitTest final CompositeCacheAttributes cattr = TestCompositeCacheAttributes .withMemoryCacheNameAndMaxObjects(memoryCacheClassName, maxMemorySize); - final long maxLife = 9876; + final Duration maxLife = Duration.ofSeconds(9876); final ElementAttributes attr = TestElementAttributes.withEternalFalseAndMaxLife(maxLife); final CacheAccess<String, Integer> access = JCS.getInstance( "testGetMatching_Normal", cattr, attr ); @@ -167,7 +167,7 @@ class CacheAccessUnitTest final CompositeCacheAttributes cattr = TestCompositeCacheAttributes .withMemoryCacheNameAndMaxObjects(memoryCacheClassName, maxMemorySize); - final long maxLife = 9876; + final Duration maxLife = Duration.ofSeconds(9876); final ElementAttributes attr = TestElementAttributes.withEternalFalseAndMaxLife(maxLife); final CacheAccess<String, Integer> access = JCS.getInstance( "testGetMatching_Normal", cattr, attr ); @@ -331,7 +331,7 @@ class CacheAccessUnitTest final CompositeCacheAttributes ca = TestCompositeCacheAttributes .withMaxMemoryIdleTime(maxIdleTime); - final long maxLife = 9876; + final Duration maxLife = Duration.ofSeconds(9876); final ElementAttributes attr = TestElementAttributes.withEternalFalseAndMaxLife(maxLife); final CacheAccess<String, String> access = JCS.getInstance( "testRegionDefinitonWithAttributes", ca, attr ); @@ -352,7 +352,7 @@ class CacheAccessUnitTest final CacheAccess<String, String> access = JCS.getInstance( "test" ); assertNotNull( access, "We should have an access class" ); - final long maxLife = 9876; + final Duration maxLife = Duration.ofSeconds(9876); final ElementAttributes attr = TestElementAttributes.withEternalFalseAndMaxLife(maxLife); access.setDefaultElementAttributes( attr ); diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCacheListenerUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCacheListenerUnitTest.java index 16c700b9..a123a8f7 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCacheListenerUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCacheListenerUnitTest.java @@ -23,6 +23,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; +import java.time.Duration; + import org.apache.commons.jcs4.engine.CacheElementSerialized; import org.apache.commons.jcs4.engine.ElementAttributes; import org.apache.commons.jcs4.engine.TestElementAttributes; @@ -60,7 +62,8 @@ class RemoteCacheListenerUnitTest final String cacheName = "testName"; final String key = "key"; final String value = "value fdsadf dsafdsa fdsaf dsafdsaf dsafdsaf dsaf dsaf dsaf dsafa dsaf dsaf dsafdsaf"; - final ElementAttributes attr = TestElementAttributes.withEternalFalseAndMaxLife(34); + final ElementAttributes attr = TestElementAttributes + .withEternalFalseAndMaxLife(Duration.ofSeconds(34)); final IElementSerializer elementSerializer = new StandardSerializer(); @@ -103,7 +106,8 @@ class RemoteCacheListenerUnitTest final String cacheName = "testName"; final String key = "key"; final String value = "value fdsadf dsafdsa fdsaf dsafdsaf dsafdsaf dsaf dsaf dsaf dsafa dsaf dsaf dsafdsaf"; - final ElementAttributes attr = TestElementAttributes.withEternalFalseAndMaxLife(34); + final ElementAttributes attr = TestElementAttributes + .withEternalFalseAndMaxLife(Duration.ofSeconds(34)); final IElementSerializer elementSerializer = new StandardSerializer(); diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/TestElementAttributes.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/TestElementAttributes.java index 37e5bf39..350ba03a 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/TestElementAttributes.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/TestElementAttributes.java @@ -1,7 +1,5 @@ package org.apache.commons.jcs4.engine; -import java.time.Instant; - /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -21,6 +19,8 @@ import java.time.Instant; * under the License. */ +import java.time.Duration; +import java.time.Instant; import java.util.ArrayList; import org.apache.commons.jcs4.engine.ElementAttributes.LastAccessHolder; @@ -35,7 +35,7 @@ public class TestElementAttributes * * @param maxLife The new MaxLife value */ - public static ElementAttributes withEternalFalseAndMaxLife(long maxLife) + public static ElementAttributes withEternalFalseAndMaxLife(Duration maxLife) { ElementAttributes element = new ElementAttributes( ElementAttributes.defaults().IsSpool(), @@ -46,7 +46,6 @@ public class TestElementAttributes ElementAttributes.defaults().MaxIdleTime(), Instant.now(), new LastAccessHolder(Instant.EPOCH), - ElementAttributes.defaults().timeFactorForMilliseconds(), new ArrayList<>()); element.mutableLastAccessTime().lastAccessTime = element.createTime(); @@ -59,7 +58,7 @@ public class TestElementAttributes * @param maxLife The new MaxLife value * @param maxIdleTime The new MaxIdleTime value */ - public static ElementAttributes withEternalFalseAndMaxLifeAndMaxIdleTime(long maxLife, long maxIdleTime) + public static ElementAttributes withEternalFalseAndMaxLifeAndMaxIdleTime(Duration maxLife, Duration maxIdleTime) { ElementAttributes element = new ElementAttributes( ElementAttributes.defaults().IsSpool(), @@ -70,7 +69,6 @@ public class TestElementAttributes maxIdleTime, Instant.now(), new LastAccessHolder(Instant.EPOCH), - ElementAttributes.defaults().timeFactorForMilliseconds(), new ArrayList<>()); element.mutableLastAccessTime().lastAccessTime = element.createTime(); diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/event/SimpleEventHandlingUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/event/SimpleEventHandlingUnitTest.java index b3fe61e5..46556fa5 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/event/SimpleEventHandlingUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/event/SimpleEventHandlingUnitTest.java @@ -206,7 +206,7 @@ class SimpleEventHandlingUnitTest } // wait a bit for the items to expire - Thread.sleep(attributes.MaxIdleTime() * 1000 + 100); + Thread.sleep(attributes.MaxIdleTime().toMillis() + 100); for ( int i = 0; i < 200; i++ ) { @@ -244,7 +244,7 @@ class SimpleEventHandlingUnitTest } // wait a bit for the items to expire - Thread.sleep(attributes.MaxLife() * 1000 + 100); + Thread.sleep(attributes.MaxLife().toMillis() + 100); for ( int i = 0; i < 200; i++ ) { diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/memory/shrinking/ShrinkerThreadUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/memory/shrinking/ShrinkerThreadUnitTest.java index 3005ee46..c0a9dbe9 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/memory/shrinking/ShrinkerThreadUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/memory/shrinking/ShrinkerThreadUnitTest.java @@ -66,7 +66,7 @@ class ShrinkerThreadUnitTest final String value = "value"; final ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value, - TestElementAttributes.withEternalFalseAndMaxLife(1)); + TestElementAttributes.withEternalFalseAndMaxLife(Duration.ofSeconds(1))); Instant now = Instant.now(); // add two seconds @@ -101,7 +101,8 @@ class ShrinkerThreadUnitTest final String value = "value"; final ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value, - TestElementAttributes.withEternalFalseAndMaxLifeAndMaxIdleTime(100, 1)); + TestElementAttributes.withEternalFalseAndMaxLifeAndMaxIdleTime( + Duration.ofSeconds(100), Duration.ofSeconds(1))); Instant now = Instant.now(); // add two seconds @@ -136,7 +137,7 @@ class ShrinkerThreadUnitTest final String value = "value"; final ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value, - TestElementAttributes.withEternalFalseAndMaxLife(1)); + TestElementAttributes.withEternalFalseAndMaxLife(Duration.ofSeconds(1))); Instant now = Instant.now(); // subtract two seconds @@ -171,7 +172,8 @@ class ShrinkerThreadUnitTest final String value = "value"; final ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value, - TestElementAttributes.withEternalFalseAndMaxLifeAndMaxIdleTime(100, 1)); + TestElementAttributes.withEternalFalseAndMaxLifeAndMaxIdleTime( + Duration.ofSeconds(100), Duration.ofSeconds(1))); Instant now = Instant.now(); // subtract two seconds @@ -209,7 +211,8 @@ class ShrinkerThreadUnitTest final String key = "key"; final String value = "value"; - final ElementAttributes elementAttr = TestElementAttributes.withEternalFalseAndMaxLife(1); + final ElementAttributes elementAttr = TestElementAttributes + .withEternalFalseAndMaxLife(Duration.ofSeconds(1)); final ICacheElement<String, String> element = new CacheElement<>("testRegion", key, value, elementAttr); memory.update( element ); @@ -256,7 +259,8 @@ class ShrinkerThreadUnitTest final String key = "key" + i; final String value = "value"; - final ElementAttributes elementAttr = TestElementAttributes.withEternalFalseAndMaxLife(1); + final ElementAttributes elementAttr = TestElementAttributes + .withEternalFalseAndMaxLife(Duration.ofSeconds(1)); final ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value, elementAttr); memory.update( element ); @@ -306,7 +310,8 @@ class ShrinkerThreadUnitTest final String key = "key" + i; final String value = "value"; - final ElementAttributes elementAttr = TestElementAttributes.withEternalFalseAndMaxLife(1); + final ElementAttributes elementAttr = TestElementAttributes + .withEternalFalseAndMaxLife(Duration.ofSeconds(1)); final ICacheElement<String, String> element = new CacheElement<>( "testRegion", key, value, elementAttr); elementAttr.addElementEventHandler( handler ); diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/utils/serialization/SerializationConversionUtilUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/utils/serialization/SerializationConversionUtilUnitTest.java index 9706a59a..84070d2d 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/utils/serialization/SerializationConversionUtilUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/utils/serialization/SerializationConversionUtilUnitTest.java @@ -25,6 +25,7 @@ import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.fail; import java.io.IOException; +import java.time.Duration; import org.apache.commons.jcs4.engine.CacheElement; import org.apache.commons.jcs4.engine.ElementAttributes; @@ -54,7 +55,8 @@ class SerializationConversionUtilUnitTest final String value = "value fdsadf dsafdsa fdsaf dsafdsaf dsafdsaf dsaf dsaf dsaf dsafa dsaf dsaf dsafdsaf"; final IElementSerializer elementSerializer = new StandardSerializer(); - final ElementAttributes attr = TestElementAttributes.withEternalFalseAndMaxLife(34); + final ElementAttributes attr = TestElementAttributes + .withEternalFalseAndMaxLife(Duration.ofSeconds(34)); final ICacheElement<String, String> before = new CacheElement<>(cacheName, key, value, attr); @@ -135,7 +137,8 @@ class SerializationConversionUtilUnitTest final String value = "value fdsadf dsafdsa fdsaf dsafdsaf dsafdsaf dsaf dsaf dsaf dsafa dsaf dsaf dsafdsaf"; final IElementSerializer elementSerializer = null; // new StandardSerializer(); - final ElementAttributes attr = TestElementAttributes.withEternalFalseAndMaxLife(34); + final ElementAttributes attr = TestElementAttributes + .withEternalFalseAndMaxLife(Duration.ofSeconds(34)); final ICacheElement<String, String> before = new CacheElement<>(cacheName, key, value, attr); @@ -169,7 +172,8 @@ class SerializationConversionUtilUnitTest final String value = "value fdsadf dsafdsa fdsaf dsafdsaf dsafdsaf dsaf dsaf dsaf dsafa dsaf dsaf dsafdsaf"; final IElementSerializer elementSerializer = new StandardSerializer(); - final ElementAttributes attr = TestElementAttributes.withEternalFalseAndMaxLife(34); + final ElementAttributes attr = TestElementAttributes + .withEternalFalseAndMaxLife(Duration.ofSeconds(34)); final ICacheElement<String, String> before = new CacheElement<>(cacheName, key, value, attr); diff --git a/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCache.ccf b/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCache.ccf index a4b04d4b..8bc7e566 100644 --- a/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCache.ccf +++ b/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCache.ccf @@ -23,8 +23,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=false jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=700 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT11m40s +jcs.default.elementattributes.MaxIdleTime=PT30m jcs.region.noRemoveAll=HSQL_NORA diff --git a/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCacheConcurrent.ccf b/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCacheConcurrent.ccf index c0994be5..544ee1e5 100644 --- a/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCacheConcurrent.ccf +++ b/commons-jcs4-core/src/test/test-conf/TestHSQLDiskCacheConcurrent.ccf @@ -23,8 +23,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=false jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=700 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT11m40s +jcs.default.elementattributes.MaxIdleTime=PT30m jcs.region.noRemoveAll=HSQL_NORA diff --git a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCache.ccf b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCache.ccf index 6abbf934..ec701a3d 100644 --- a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCache.ccf +++ b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCache.ccf @@ -22,8 +22,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=false jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=700 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT11m40s +jcs.default.elementattributes.MaxIdleTime=PT30m # ############################################################# # ################# AUXILIARY CACHES AVAILABLE ################ diff --git a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheRemoval.ccf b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheRemoval.ccf index 54151af1..828904fa 100644 --- a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheRemoval.ccf +++ b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheRemoval.ccf @@ -23,8 +23,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=false jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=700 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT11m40s +jcs.default.elementattributes.MaxIdleTime=PT30m # ############################################################# # ################# AUXILIARY CACHES AVAILABLE ################ diff --git a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheSharedPool.ccf b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheSharedPool.ccf index dbae3be2..c95ac430 100644 --- a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheSharedPool.ccf +++ b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheSharedPool.ccf @@ -22,8 +22,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=false jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=700 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT11m40s +jcs.default.elementattributes.MaxIdleTime=PT30m # ############################################################# # ################# CONFIGURED REGIONS ######################## diff --git a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheShrink.ccf b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheShrink.ccf index ea64be8f..cd9dc5bc 100644 --- a/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheShrink.ccf +++ b/commons-jcs4-core/src/test/test-conf/TestJDBCDiskCacheShrink.ccf @@ -22,22 +22,22 @@ jcs.default.cacheattributes.UseMemoryShrinker=false jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=700 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT11m40s +jcs.default.elementattributes.MaxIdleTime=PT30m # ############################################################# # ################# REGIONS ################################### jcs.region.expire1Second=JDBC jcs.region.expire1Second.cacheattributes.MaxObjects=0 -jcs.region.expire1Second.elementattributes.MaxLife=1 +jcs.region.expire1Second.elementattributes.MaxLife=PT1s jcs.region.expire100Second=JDBC jcs.region.expire100Second.cacheattributes.MaxObjects=0 -jcs.region.expire100Second.elementattributes.MaxLife=100 +jcs.region.expire100Second.elementattributes.MaxLife=PT1m40s jcs.region.eternal=JDBC jcs.region.eternal.cacheattributes.MaxObjects=0 -jcs.region.eternal.elementattributes.MaxLife=1 +jcs.region.eternal.elementattributes.MaxLife=PT1s jcs.region.eternal.elementattributes.IsEternal=true # ############################################################# diff --git a/commons-jcs4-core/src/test/test-conf/TestMRUCache.ccf b/commons-jcs4-core/src/test/test-conf/TestMRUCache.ccf index 7fb0e72c..9dc30652 100644 --- a/commons-jcs4-core/src/test/test-conf/TestMRUCache.ccf +++ b/commons-jcs4-core/src/test/test-conf/TestMRUCache.ccf @@ -24,8 +24,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=true jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1s jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=600 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT10m +jcs.default.elementattributes.MaxIdleTime=PT30m # Region defined that uses the MRU jcs.region.mruDefined= diff --git a/commons-jcs4-core/src/test/test-conf/TestMySQLDiskCache.ccf b/commons-jcs4-core/src/test/test-conf/TestMySQLDiskCache.ccf index 2ee668fb..478fec76 100644 --- a/commons-jcs4-core/src/test/test-conf/TestMySQLDiskCache.ccf +++ b/commons-jcs4-core/src/test/test-conf/TestMySQLDiskCache.ccf @@ -25,8 +25,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=false jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=700 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT11m40s +jcs.default.elementattributes.MaxIdleTime=PT30m # ############################################################# # ################# AUXILIARY CACHES AVAILABLE ################ diff --git a/commons-jcs4-core/src/test/test-conf/TestRemoteClient.ccf b/commons-jcs4-core/src/test/test-conf/TestRemoteClient.ccf index 81b344b6..54e0f78c 100644 --- a/commons-jcs4-core/src/test/test-conf/TestRemoteClient.ccf +++ b/commons-jcs4-core/src/test/test-conf/TestRemoteClient.ccf @@ -23,8 +23,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=true jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=700 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT11m40s +jcs.default.elementattributes.MaxIdleTime=PT30m jcs.auxiliary.RC=org.apache.commons.jcs4.auxiliary.remote.RemoteCacheFactory diff --git a/commons-jcs4-core/src/test/test-conf/TestRemoteHttpCache.ccf b/commons-jcs4-core/src/test/test-conf/TestRemoteHttpCache.ccf index 0e0ca49c..fb43c2fc 100644 --- a/commons-jcs4-core/src/test/test-conf/TestRemoteHttpCache.ccf +++ b/commons-jcs4-core/src/test/test-conf/TestRemoteHttpCache.ccf @@ -23,8 +23,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=true jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=700 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT11m40s +jcs.default.elementattributes.MaxIdleTime=PT30m ## The Http Remote Cache Client diff --git a/commons-jcs4-core/src/test/test-conf/TestRemoteServer.ccf b/commons-jcs4-core/src/test/test-conf/TestRemoteServer.ccf index f62ed072..66076f68 100644 --- a/commons-jcs4-core/src/test/test-conf/TestRemoteServer.ccf +++ b/commons-jcs4-core/src/test/test-conf/TestRemoteServer.ccf @@ -34,5 +34,5 @@ jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h 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 +jcs.default.elementattributes.MaxLife=PT1h56m40s +jcs.default.elementattributes.MaxIdleTime=PT30m diff --git a/commons-jcs4-core/src/test/test-conf/TestSimpleEventHandling.ccf b/commons-jcs4-core/src/test/test-conf/TestSimpleEventHandling.ccf index 61dca71b..586e553c 100644 --- a/commons-jcs4-core/src/test/test-conf/TestSimpleEventHandling.ccf +++ b/commons-jcs4-core/src/test/test-conf/TestSimpleEventHandling.ccf @@ -36,13 +36,13 @@ jcs.region.DiskButNotAllowed.elementattributes.IsSpool=false jcs.region.Maxlife= jcs.region.Maxlife.cacheattributes.MaxObjects=200 jcs.region.Maxlife.elementattributes.IsEternal=false -jcs.region.Maxlife.elementattributes.MaxLife=1 +jcs.region.Maxlife.elementattributes.MaxLife=PT1s jcs.region.Idletime= jcs.region.Idletime.cacheattributes.MaxObjects=200 jcs.region.Idletime.elementattributes.IsEternal=false -jcs.region.Idletime.elementattributes.MaxLife=300 -jcs.region.Idletime.elementattributes.MaxIdleTime=1 +jcs.region.Idletime.elementattributes.MaxLife=PT5m +jcs.region.Idletime.elementattributes.MaxIdleTime=PT1s # #### AUXILIARY CACHES # Indexed Disk Cache diff --git a/commons-jcs4-core/src/test/test-conf/TestSoftReferenceCache.ccf b/commons-jcs4-core/src/test/test-conf/TestSoftReferenceCache.ccf index c493f3bc..10f67e6a 100644 --- a/commons-jcs4-core/src/test/test-conf/TestSoftReferenceCache.ccf +++ b/commons-jcs4-core/src/test/test-conf/TestSoftReferenceCache.ccf @@ -21,8 +21,8 @@ jcs.default.cacheattributes.MemoryCacheName=org.apache.commons.jcs4.engine.memor jcs.default.cacheattributes.UseMemoryShrinker=false jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=600 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT10m +jcs.default.elementattributes.MaxIdleTime=PT30m # Region defined that uses the Soft Reference jcs.region.srDefined= diff --git a/commons-jcs4-core/src/test/test-conf/TestZeroSizeCache.ccf b/commons-jcs4-core/src/test/test-conf/TestZeroSizeCache.ccf index 3d13b088..2eb7331d 100644 --- a/commons-jcs4-core/src/test/test-conf/TestZeroSizeCache.ccf +++ b/commons-jcs4-core/src/test/test-conf/TestZeroSizeCache.ccf @@ -23,5 +23,5 @@ jcs.default.cacheattributes.UseMemoryShrinker=true jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1s jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=600 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT10m +jcs.default.elementattributes.MaxIdleTime=PT30m diff --git a/commons-jcs4-jcache/src/main/java/org/apache/commons/jcs4/jcache/JCSCache.java b/commons-jcs4-jcache/src/main/java/org/apache/commons/jcs4/jcache/JCSCache.java index 4fbc36da..82e1efb5 100644 --- a/commons-jcs4-jcache/src/main/java/org/apache/commons/jcs4/jcache/JCSCache.java +++ b/commons-jcs4-jcache/src/main/java/org/apache/commons/jcs4/jcache/JCSCache.java @@ -698,20 +698,20 @@ public class JCSCache<K, V> implements Cache<K, V> final K jcsKey = storeByValue ? copy(serializer, manager.getClassLoader(), key) : key; IElementAttributes attributes = oldElt != null ? oldElt.elementAttributes() : delegate.getElementAttributes(); - if (created && duration != null) { // set maxLife - final long timeFactorForMilliseconds = 1; + if (created && duration != null) + { // set maxLife final boolean eternal = duration.isEternal(); - long maxIdleTime = attributes.MaxIdleTime(); - long maxLife = attributes.MaxLife(); + java.time.Duration maxIdleTime = attributes.MaxIdleTime(); + java.time.Duration maxLife = attributes.MaxLife(); if (!eternal) { if (duration == expiryPolicy.getExpiryForAccess()) { - maxIdleTime = duration.getTimeUnit().toMillis(duration.getDurationAmount()); + maxIdleTime = java.time.Duration.of(duration.getDurationAmount(), duration.getTimeUnit().toChronoUnit()); } else { - maxLife = duration.getTimeUnit().toMillis(duration.getDurationAmount()); + maxLife = java.time.Duration.of(duration.getDurationAmount(), duration.getTimeUnit().toChronoUnit()); } } attributes = new ElementAttributes( @@ -720,8 +720,7 @@ public class JCSCache<K, V> implements Cache<K, V> attributes.IsRemote(), eternal, maxLife, - maxIdleTime, - timeFactorForMilliseconds); + maxIdleTime); } final ICacheElement<K, V> element = updateElement( jcsKey, value, created ? null : duration, attributes); @@ -978,8 +977,7 @@ public class JCSCache<K, V> implements Cache<K, V> attrs.IsRemote(), duration.isEternal(), attrs.MaxLife(), - attrs.MaxIdleTime(), - 1) + attrs.MaxIdleTime()) : attrs; return new CacheElement<>(name, key, v, newAttributes); 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 317ee426..4db7e76c 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,8 +83,8 @@ public class JCSCachingManager implements CacheManager jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false - jcs.default.elementattributes.MaxLife=700 - jcs.default.elementattributes.MaxIdleTime=1800 + jcs.default.elementattributes.MaxLife=PT11m40s + jcs.default.elementattributes.MaxIdleTime=PT30m jcs.default.elementattributes.IsSpool=true jcs.default.elementattributes.IsRemote=true jcs.default.elementattributes.IsLateral=true diff --git a/src/site/xdoc/ElementAttributes.xml b/src/site/xdoc/ElementAttributes.xml index 3022df10..448aa2c5 100644 --- a/src/site/xdoc/ElementAttributes.xml +++ b/src/site/xdoc/ElementAttributes.xml @@ -53,8 +53,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=true jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=700 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT11m40s +jcs.default.elementattributes.MaxIdleTime=PT30m ]]> </source> <p> @@ -110,7 +110,7 @@ jcs.default.elementattributes.MaxIdleTime=1800 for more information on the disk cache settings). </td> <td>N</td> - <td>-1 (unlimited)</td> + <td>PT-0.001s (unlimited)</td> </tr> <tr> <td>MaxIdleTime</td> @@ -119,7 +119,7 @@ jcs.default.elementattributes.MaxIdleTime=1800 without being accessed by setting the <code>MaxIdleTime</code> parameter. This is different than the - <code>MaxMemoryIdleTimeSeconds</code> + <code>MaxMemoryIdleTime</code> parameter, which just specifies how long an object can be in memory before it is subjected to removal or being spooled to a disk cache if it is available. @@ -129,7 +129,7 @@ jcs.default.elementattributes.MaxIdleTime=1800 retrieved from disk, if you have a memory size of 0. </td> <td>N</td> - <td>-1 (unlimited)</td> + <td>PT-0.001s (unlimited)</td> </tr> <tr> <td>IsSpool</td> @@ -188,9 +188,8 @@ jcs.default.elementattributes.MaxIdleTime=1800 defaultAttributes.isLateral(), defaultAttributes.isRemote(), /* isEternal */ false, - /* maxLife */ 1800, - /* maxIdleTime */ 900, - defaultAttributes.timeFactorForMilliseconds()); + /* maxLife */ Duration.ofSeconds(1800), + /* maxIdleTime */ Duration.ofSeconds(900)); jcs.put( "key", "data", attributes ); ]]> @@ -214,9 +213,8 @@ jcs.default.elementattributes.MaxIdleTime=1800 defaultAttributes.isLateral(), defaultAttributes.isRemote(), /* isEternal */ false, - /* maxLife */ 1800, - /* maxIdleTime */ 900, - defaultAttributes.timeFactorForMilliseconds()); + /* maxLife */ Duration.ofSeconds(1800), + /* maxIdleTime */ Duration.ofSeconds(900)); jcs.setDefaultElementAttributes( attributes ); ]]> diff --git a/src/site/xdoc/IndexedDiskAuxCache.xml b/src/site/xdoc/IndexedDiskAuxCache.xml index 38996077..49aecf86 100644 --- a/src/site/xdoc/IndexedDiskAuxCache.xml +++ b/src/site/xdoc/IndexedDiskAuxCache.xml @@ -241,8 +241,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=false jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=700 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT11m40s +jcs.default.elementattributes.MaxIdleTime=PT30m ############################################################## ################## AUXILIARY CACHES AVAILABLE ################ diff --git a/src/site/xdoc/JDBCDiskCache.xml b/src/site/xdoc/JDBCDiskCache.xml index c796191f..9d24961e 100644 --- a/src/site/xdoc/JDBCDiskCache.xml +++ b/src/site/xdoc/JDBCDiskCache.xml @@ -43,8 +43,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=true jcs.default.cacheattributes.MaxMemoryIdleTime=PT2h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=14400 -jcs.default.elementattributes.MaxIdleTime=14400 +jcs.default.elementattributes.MaxLife=PT4h +jcs.default.elementattributes.MaxIdleTime=PT4h ############################################################## ################## CACHE REGIONS AVAILABLE ################### @@ -62,7 +62,7 @@ jcs.auxiliary.MYSQL.attributes.testBeforeInsert=false jcs.auxiliary.MYSQL.attributes.maxActive=100 jcs.auxiliary.MYSQL.attributes.MaxPurgatorySize=10000000 jcs.auxiliary.MYSQL.attributes.UseDiskShrinker=true -jcs.auxiliary.MYSQL.attributes.ShrinkerInterval=1800 +jcs.auxiliary.MYSQL.attributes.ShrinkerInterval=PT30m jcs.auxiliary.MYSQL.attributes.allowRemoveAll=false jcs.auxiliary.MYSQL.attributes.EventQueueType=POOLED jcs.auxiliary.MYSQL.attributes.EventQueuePoolName=disk_cache_event_queue @@ -92,8 +92,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=false jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=700 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT11m40s +jcs.default.elementattributes.MaxIdleTime=PT30m # ############################################################# # ################# CONFIGURED REGIONS ######################## @@ -157,8 +157,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=false jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=700 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT11m40s +jcs.default.elementattributes.MaxIdleTime=PT30m # ############################################################# # ################# CONFIGURED REGIONS ######################## diff --git a/src/site/xdoc/RegionProperties.xml b/src/site/xdoc/RegionProperties.xml index 8f628af2..cb3743dc 100644 --- a/src/site/xdoc/RegionProperties.xml +++ b/src/site/xdoc/RegionProperties.xml @@ -262,7 +262,7 @@ jcs.default.cacheattributes.UseMemoryShrinker=true jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=700 +jcs.default.elementattributes.MaxLife=PT11m40s # optional region "testCache1" specific configuration settings (only those that differ from default) jcs.region.testCache1= @@ -270,7 +270,7 @@ jcs.region.testCache1.cacheattributes.MaxObjects=123456 jcs.region.testCache1.cacheattributes.ShrinkerInterval=PT30s jcs.region.testCache1.cacheattributes.MaxMemoryIdleTime=PT5m jcs.region.testCache1.cacheattributes.MaxSpoolPerRun=100 -jcs.region.testCache1.elementattributes.MaxLife=60000 +jcs.region.testCache1.elementattributes.MaxLife=PT16h40m ]]> </source> </subsection> diff --git a/src/site/xdoc/UsingJCSBasicWeb.xml b/src/site/xdoc/UsingJCSBasicWeb.xml index a831b7cc..2a8fa57e 100644 --- a/src/site/xdoc/UsingJCSBasicWeb.xml +++ b/src/site/xdoc/UsingJCSBasicWeb.xml @@ -364,8 +364,8 @@ public class BookVObjManager jcs.default=DC,RFailover jcs.default.cacheattributes.MaxObjects=1000 jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=3600 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT1h +jcs.default.elementattributes.MaxIdleTime=PT30m # CACHE REGIONS AVAILABLE @@ -374,8 +374,8 @@ jcs.default.elementattributes.MaxIdleTime=1800 jcs.region.bookCache=DC,RFailover jcs.region.bookCache.cacheattributes.MaxObjects=1200 jcs.region.bookCache.elementattributes.IsEternal=false -jcs.region.bookCache.elementattributes.MaxLife=7200 -jcs.region.bookCache.elementattributes.MaxIdleTime=1800 +jcs.region.bookCache.elementattributes.MaxLife=PT2h +jcs.region.bookCache.elementattributes.MaxIdleTime=PT30m jcs.region.bookCache.elementattributes.IsSpool=true jcs.region.bookCache.elementattributes.IsRemote=true jcs.region.bookCache.elementattributes.IsLateral=true diff --git a/src/site/xdoc/getting_started/intro.xml b/src/site/xdoc/getting_started/intro.xml index 49dfbfa4..5fb5248e 100644 --- a/src/site/xdoc/getting_started/intro.xml +++ b/src/site/xdoc/getting_started/intro.xml @@ -153,8 +153,8 @@ jcs.default.cacheattributes.UseMemoryShrinker=false jcs.default.cacheattributes.MaxMemoryIdleTime=PT1h jcs.default.cacheattributes.ShrinkerInterval=PT1m jcs.default.elementattributes.IsEternal=false -jcs.default.elementattributes.MaxLife=21600 -jcs.default.elementattributes.MaxIdleTime=1800 +jcs.default.elementattributes.MaxLife=PT6h +jcs.default.elementattributes.MaxIdleTime=PT30m # PRE-DEFINED CACHE REGIONS jcs.region.testCache1=DC
