Skip to content

Commit

Permalink
CacheDispatcher: added registerInvalidationListener
Browse files Browse the repository at this point in the history
Signed-off-by: Tony Tkacik <tonydamage@gmail.com>
  • Loading branch information
tonydamage committed Jul 18, 2022
1 parent 009d7cb commit 5781c01
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,18 @@
*/
public interface CacheDispatcher {

void registerCacheListener(CacheListener cacheListener);
default void registerCacheListener(CacheListener cacheListener) {
registerCacheInvalidationListener(cacheListener);
}

default void unregisterCacheListener(CacheListener cacheListener) {
unregisterCacheListener(cacheListener);
}

void registerCacheInvalidationListener(CacheInvalidationListener cacheListener);

void unregisterCacheInvalidationListener(CacheInvalidationListener cacheListener);

void unregisterCacheListener(CacheListener cacheListener);

/**
* Dispatches "cache entry/entries invalidation" event to all relevant caches, even clusterwide if requested so.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ public class CacheDispatcherImpl implements CacheDispatcher {


@Override
public synchronized void registerCacheListener(CacheListener cacheListener) {
LOGGER.info("Registering listener {}", cacheListener);
public synchronized void registerCacheInvalidationListener(CacheInvalidationListener cacheListener) {
LOGGER.debug("Registering listener {}", cacheListener);
if (cacheListeners.contains(cacheListener)) {
LOGGER.warn("Registering listener {} which was already registered.", cacheListener);
return;
Expand All @@ -62,7 +62,7 @@ public synchronized void registerCacheListener(CacheListener cacheListener) {
}

@Override
public synchronized void unregisterCacheListener(CacheListener cacheListener) {
public synchronized void unregisterCacheInvalidationListener(CacheInvalidationListener cacheListener) {
if (!cacheListeners.contains(cacheListener)) {
LOGGER.warn("Unregistering listener {} which was already unregistered.", cacheListener);
return;
Expand Down Expand Up @@ -95,12 +95,13 @@ private boolean isInterested(Collection<CacheInvalidationEventSpecification> eve
return true;
}
if (type == null) {
// Type was null, means invalidate everything
return true;
}

for(CacheInvalidationEventSpecification eventSpec : eventSpecs) {
if (eventSpec.getObjectType().isAssignableFrom(type)) {
LOGGER.info("Listener interested in {}, repository result is {}", type, result);
LOGGER.trace("Listener interested in {}, repository result is {}", type, result);
// Listener is interested in this type
if (result == null) {
// FIXME: What to do here? this is caused by addDiagnosticInformation
Expand Down

0 comments on commit 5781c01

Please sign in to comment.