in src/main/java/org/apache/geronimo/jcache/simple/SimpleCache.java [700:729]
public synchronized void close() {
if (isClosed()) {
return;
}
for (final Future<?> task : poolTasks) {
task.cancel(true);
}
final CacheException ce = new CacheException();
manager.release(getName());
closed = true;
close(loader, ce);
close(writer, ce);
close(expiryPolicy, ce);
for (final SimpleListener<K, V> listener : listeners.values()) {
try {
listener.close();
} catch (final Exception e) {
ce.addSuppressed(e);
}
}
listeners.clear();
JMXs.unregister(cacheConfigObjectName);
JMXs.unregister(cacheStatsObjectName);
delegate.clear();
if (ce.getSuppressed().length > 0) {
throw ce;
}
}