[ 
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

        

Reply via email to