Author: bpapez
Date: Tue Nov 13 11:48:53 2007
New Revision: 19128
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19128&repname=
=3Djahia
Log:
SNCF-31: Add functionality to JahiaTreeCache to allow expiring cache entrie=
s via setting the expiry date via the ParamBean
Modified:
branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/cache/treecache/J=
ahiaTreeCache.java
Modified: branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/cache/treec=
ache/JahiaTreeCache.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-4-1-BR=
ANCH/src/java/org/jahia/services/cache/treecache/JahiaTreeCache.java&rev=3D=
19128&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/cache/treecache/J=
ahiaTreeCache.java (original)
+++ branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/cache/treecache/J=
ahiaTreeCache.java Tue Nov 13 11:48:53 2007
@@ -39,6 +39,7 @@
=
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -273,18 +274,10 @@
=
public void remove(Object entryKey) {
try {
- Fqn localFqn =3D null;
- if (entryKey instanceof List) {
- List entryList =3D (List) entryKey;
- localFqn =3D new Fqn(getFqn(), entryList);
- } else {
- localFqn =3D new Fqn(getFqn(), entryKey);
- }
+ Fqn localFqn =3D new Fqn(getFqn(),
+ entryKey instanceof List ? (List) entryKey : entryKey)=
; =
=
- TreeCache localTreeCache =3D getTreeCache();
- // if (localTreeCache.exists(localFqn)) {
- localTreeCache.remove(localFqn);
- // }
+ getTreeCache().remove(localFqn);
} catch (CacheException e) {
logger.warn(getName() + entryKey, e);
}
@@ -308,13 +301,20 @@
public CacheEntry getCacheEntry(Object entryKey) {
CacheEntry entry =3D null;
try {
- if (entryKey instanceof List) {
- List entryList =3D (List) entryKey;
- entry =3D (CacheEntry) getTreeCache().get(
- new Fqn(getFqn(), entryList), "entry");
- } else {
- entry =3D (CacheEntry) getTreeCache().get(
- new Fqn(getFqn(), entryKey), "entry");
+ Fqn entryFqnKey =3D new Fqn(getFqn(),
+ entryKey instanceof List ? (List) entryKey : entryKey);
+
+ entry =3D (CacheEntry) getTreeCache().get(
+ entryFqnKey, "entry");
+ // check if the entry is expired =
+ if (entry !=3D null
+ && entry.getExpirationDate() !=3D null
+ && entry.getExpirationDate().getTime() <=3D System
+ .currentTimeMillis()) {
+ // entry has expired, we must remove it and then exit.
+ logger.debug("Cache entry has expired, ignoring entry and =
removing...");
+ getTreeCache().remove(entryFqnKey);
+ entry =3D null;
}
} catch (CacheException e) {
logger.warn(getName() + entryKey, e);
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list