Details
-
Improvement
-
Resolution: Fixed
-
Minor
-
None
-
None
-
None
Description
So you can listen for cache clear events for all subject sources for example, but also for each individual cache. Separate the general one from specific ones in the name with 4 underscores
final Map<String, Integer> someCache = new HashMap<String, Integer>(); final Map<String, Integer> someCache____a = new HashMap<String, Integer>(); final Map<String, Integer> someCache____b = new HashMap<String, Integer>(); GrouperCacheDatabaseClear grouperCacheDatabaseClear = new GrouperCacheDatabaseClear() { |
|
@Override |
public void clear(GrouperCacheDatabaseClearInput grouperCacheDatabaseClearInput) { if ("edu.internet2.middleware.grouper.cache.GrouperCacheDatabaseTest.myTest".equals(grouperCacheDatabaseClearInput.getCacheName())) { |
someCache.clear();
|
} else if ("edu.internet2.middleware.grouper.cache.GrouperCacheDatabaseTest.myTest____a".equals(grouperCacheDatabaseClearInput.getCacheName())) { |
someCache____a.clear();
|
} else if ("edu.internet2.middleware.grouper.cache.GrouperCacheDatabaseTest.myTest____b".equals(grouperCacheDatabaseClearInput.getCacheName())) { |
someCache____b.clear();
|
} else { |
throw new RuntimeException("Cant find cache name! " + grouperCacheDatabaseClearInput.getCacheName()); |
}
|
}
|
};
|
|
GrouperCacheDatabase.customRegisterDatabaseClearable(
|
"edu.internet2.middleware.grouper.cache.GrouperCacheDatabaseTest.myTest", grouperCacheDatabaseClear); |
GrouperCacheDatabase.customRegisterDatabaseClearable(
|
"edu.internet2.middleware.grouper.cache.GrouperCacheDatabaseTest.myTest____b", grouperCacheDatabaseClear); |
|