in jetcache-core/src/main/java/com/alicp/jetcache/template/NotifyMonitorInstaller.java [30:54]
public void addMonitors(CacheManager cacheManager, Cache cache, QuickConfig quickConfig) {
if (quickConfig.getSyncLocal() == null || !quickConfig.getSyncLocal()) {
return;
}
if (!(CacheUtil.getAbstractCache(cache) instanceof MultiLevelCache)) {
return;
}
String area = quickConfig.getArea();
final ExternalCacheBuilder cacheBuilder = (ExternalCacheBuilder) remoteBuilderTemplate.apply(area);
if (cacheBuilder == null || !cacheBuilder.supportBroadcast()
|| cacheBuilder.getConfig().getBroadcastChannel() == null) {
return;
}
if (cacheManager.getBroadcastManager(area) == null) {
BroadcastManager cm = cacheBuilder.createBroadcastManager(cacheManager);
if (cm != null) {
cm.startSubscribe();
cacheManager.putBroadcastManager(area, cm);
}
}
CacheMonitor monitor = createMonitor(cacheManager, quickConfig, area);
cache.config().getMonitors().add(monitor);
}