[ https://issues.apache.org/jira/browse/JCS-92?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Vandahl resolved JCS-92. ------------------------------- Resolution: Cannot Reproduce Fix Version/s: jcs-1.3 This feature normally works if the cache is shut down properly. > On shutdown .key (empty during runtime) not written and .data (not empty > during runtime) deleted > ------------------------------------------------------------------------------------------------ > > Key: JCS-92 > URL: https://issues.apache.org/jira/browse/JCS-92 > Project: Commons JCS > Issue Type: Bug > Components: Composite Cache > Affects Versions: jcs-1.3 > Environment: win 7x64; jvm 1.6 > Reporter: Karl Klinge > Fix For: jcs-1.3 > > > On shutdown .key (which is empty during runtime) is not written from memory > and .data (not empty during runtime) is deleted. > cache ccf: > ##################################################### > ############## Default Region Configuration > jcs.default=DC2 > jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes > jcs.default.cacheattributes.MaxObjects=50 > jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache > ##################################################### > ############## CACHE REGIONS > jcs.region.sac=DC2 > jcs.region.sac.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes > jcs.region.sac.cacheattributes.MaxObjects=10 > jcs.region.sac.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache > jcs.region.sac.elementattributes.IsEternal=true > ##jcs.region.sac.elementattributes.MaxLifeSeconds=172800 ## 2 Tage > jcs.region.sac.cacheattributes.DiskUsagePatternName=UPDATE > #################################################### > ############### AUXILIARY CACHES > # Indexed Disk Cache > jcs.auxiliary.DC2=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory > jcs.auxiliary.DC2.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes > jcs.auxiliary.DC2.attributes.DiskPath=c:/cache/status > jcs.auxiliary.DC2.attributes.MaxPurgatorySize=1000 > jcs.auxiliary.DC2.attributes.MaxKeySize=100000 > jcs.auxiliary.DC2.attributes.OptimizeAtRemoveCount=30000 > jcs.auxiliary.DC2.attributes.OptimizeOnShutdown=true > jcs.auxiliary.DC2.attributes.MaxRecycleBinSize=1000 > Object to write to cache: > key: string > value (all used classes in import implement Serializable): > >>>>>> > package de.spektra.rtd.sdb.condition; > import de.spektra.rtd.model.event.Event; > import de.spektra.rtd.model.event.StatusAlarmCondition; > import java.io.Serializable; > import java.util.ArrayList; > import java.util.Collection; > import java.util.HashMap; > import java.util.Map; > /** > * > * @author Klinge > */ > public class DistrictConditions implements Serializable{ > > //private static final java.util.logging.Logger logger = > Logger.getLogger("DistrictCondition"); > > private Map<String, DistrictObjectTypeConditions> objectTypesConditions; > > public DistrictConditions() { > this.objectTypesConditions = new HashMap<String, > DistrictObjectTypeConditions>(); > } > > public ObjectCondition setEvent(Event event) { > String objectType = event.getIdentification().getObjectType(); > DistrictObjectTypeConditions objectTypeConditions = > this.objectTypesConditions.get(objectType); > if (objectTypeConditions == null) { > objectTypeConditions = new DistrictObjectTypeConditions(); > this.objectTypesConditions.put(objectType, objectTypeConditions); > } > return objectTypeConditions.setEvent(event); > } > > > > public ObjectCondition getObjectCondtion(String objectType, String > identification) { > DistrictObjectTypeConditions objectTypeConditions = > this.objectTypesConditions.get(objectType); > //logger.log(Level.INFO, "objectTypeConditions: {0}", > objectTypeConditions); > return objectTypeConditions.getObjectCondition(identification); > } > > public Collection<ObjectCondition> getObjectConditions(Collection<String> > objectTypes) { > ArrayList<ObjectCondition> objectConditions = new > ArrayList<ObjectCondition>(); > for (String objectType: objectTypes) { > DistrictObjectTypeConditions objectTypeConditions = > this.objectTypesConditions.get(objectType); > if (objectTypeConditions!=null) { > > objectConditions.addAll(objectTypeConditions.getObjectConditions()); > } > } > return objectConditions; > } > > public StatusAlarmCondition getCurrentStatusAlarmCondtition(String > objectType, String identification) { > DistrictObjectTypeConditions objectTypeConditions = > this.objectTypesConditions.get(objectType); > return > objectTypeConditions.getCurrentStatusAlarmCondition(identification); > } > > public Collection<StatusAlarmCondition> > getCurrentStatusAlarmCondtitions(Collection<String> objectTypes) { > ArrayList<StatusAlarmCondition> statusAlarmConditions = new > ArrayList<StatusAlarmCondition>(); > for (String objectType: objectTypes) { > DistrictObjectTypeConditions objectTypeConditions = > this.objectTypesConditions.get(objectType); > if (objectTypeConditions!=null) { > > statusAlarmConditions.addAll(objectTypeConditions.getCurrentStatusAlarmConditions()); > } > } > return statusAlarmConditions; > } > > } > <<<<<<<< -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira