Only one GSAItem can be kept in memory with the same ID. If the system maintains a reference to an item that has been removed from the cache, it would continue to used the item. When a new item with the same ID is created later, the repository can no longer synchronize all of the changes made. To prevent this, whenever an item is removed from the cache, it is added to a weak reference Hashtable. When an item is not found in the cache, the repository references this Hashtable. If the item it found, it is added back to the cache.

The weak cache stores items that have been removed from the cache, but have not yet been run through the garbage collection process. Entries in this table have been tagged as weak, indicating that they will be passed through the garbage collection process as soon as no further references are found for them.

The weak cache table contains the following data:

Property

Description

weakentryCount

Current number of weak cache entries

weakHitCount

Number of cache hits that are found in the weak cache

mainRLUTotalItemsCulled

Number of times that the least recently used (LRU) list of the main cache was cleaned of entries that were both not recently used, and extended the maximum size of the LRU list

mainLRUMaxItemsCulled

Maximum number of items that were culled from the LRU list of the main cache

weakLRUCulls

Number of times the LRU list of the weak cache was cleaned from entries that were both not used recently, and extended the maximum size of the LRU list

weakLRUTotalItemsCulled

Total number of items that were culled from the LRU list

weakLRUMaxItemsCulled

The maximum number of items that were culled from the LRU list


Copyright © 1997, 2013 Oracle and/or its affiliates. All rights reserved. Legal Notices