iterator.remove();
notifyExpiryListeners(element);
}
}
RegisteredEventListeners listeners = cache.getCacheEventNotificationService();
// Clean up disk elements
for (Iterator iterator = diskElements.entrySet().iterator(); iterator.hasNext();) {
final Map.Entry entry = (Map.Entry) iterator.next();
DiskElement diskElement = (DiskElement) entry.getValue();
if (now >= diskElement.expiryTime) {
// An expired element
if (LOG.isDebugEnabled()) {
LOG.debug(name + "Cache: Removing expired spool element " + entry.getKey() + " from Disk Store");
}
// This ensures the DiskElement is only removed and processed once
diskElement = (DiskElement) diskElements.remove(entry.getKey());
if (diskElement != null) {
// only load the element from the file if there is a listener interested in hearing about its expiration
if (listeners.hasCacheEventListeners()) {
try {
Element element = loadElementFromDiskElement(diskElement);
notifyExpiryListeners(element);
} catch (Exception exception) {
LOG.error(name + "Cache: Could not remove disk store entry for " + entry.getKey()