@Override public void run() { checkCCRegionTombstoneCount("after create+destroy in other vm ", numEntries); afterCreates = 0; AttributesMutator<Object, Object> m = attributesMutatorFor(CCRegion); m.addCacheListener(new CacheListenerAdapter<Object, Object>() { @Override public void afterCreate(EntryEvent<Object, Object> event) { afterCreates++; } }); } });
@Override @SuppressWarnings("rawtypes") public void addCacheListener(CacheListener listener) { AttributesMutator mutator = this.region.getAttributesMutator(); mutator.addCacheListener(listener); }
@Override public void addCacheListener(CacheListener listener) { for (PartitionedRegion prQ : this.userRegionNameToshadowPRMap.values()) { AttributesMutator mutator = prQ.getAttributesMutator(); mutator.addCacheListener(listener); } }
public WindowImpl(Region<K, V> region, final DistributedMember sink, int size) { permits = new Semaphore(size); abort = new AtomicBoolean(false); this.region = region; crash = new RegionMembershipListenerAdapter<K, V>() { @Override public void afterRemoteRegionCrash(RegionEvent<K, V> event) { if (event.getDistributedMember().equals(sink)) { if (getLogger().fineEnabled()) getLogger().fine("SNP: " + sink + " has crashed, closing window"); abort(); } } }; region.getAttributesMutator().addCacheListener(crash); }
@Override public void afterCreate(final Region region) { if (region.getName().contains(".files") || region.getName().contains(".chunks")) { region.getAttributesMutator().addCacheListener(new CacheListenerAdapter() { @Override public void afterCreate(final EntryEvent event) { beforeWrite.accept(event.getKey()); } @Override public void afterDestroy(final EntryEvent event) { beforeWrite.accept(event.getKey()); } @Override public void afterInvalidate(final EntryEvent event) { beforeWrite.accept(event.getKey()); } @Override public void afterUpdate(final EntryEvent event) { beforeWrite.accept(event.getKey()); } }); } } }
public static void addCacheListenerAndCloseCache(String regionName) { final Region region = cache.getRegion(Region.SEPARATOR + regionName); assertNotNull(region); CacheListenerAdapter cl = new CacheListenerAdapter() { @Override public void afterCreate(EntryEvent event) { if ((Long) event.getKey() == 900) { cache.getLogger().fine(" Gateway sender is killed by a test"); cache.close(); cache.getDistributedSystem().disconnect(); } } }; region.getAttributesMutator().addCacheListener(cl); }
void installCacheListenerAndWriter() { AttributesMutator<String, String> mutator = this.region.getAttributesMutator(); mutator.addCacheListener(new CacheListenerAdapter<String, String>() { @Override public void close() {
@Test public void updateWithCacheListeners() { // suppose region has one cacheListener, and we want to replace the oldOne one with the new one CacheListener oldOne = mock(CacheListener.class); when(region.getCacheListeners()).thenReturn(new CacheListener[] {oldOne}); DeclarableType newCacheListenerType = mock(DeclarableType.class); when(newCacheListenerType.getClassName()).thenReturn(MyCacheListener.class.getName()); regionAttributes.getCacheListeners().add(newCacheListenerType); ArgumentCaptor<CacheListener> argument = ArgumentCaptor.forClass(CacheListener.class); function.alterRegion(cache, config); verify(mutator).removeCacheListener(oldOne); verify(mutator).addCacheListener(argument.capture()); assertThat(argument.getValue()).isInstanceOf(MyCacheListener.class); }
@Test public void updateWithEmptyCacheListeners() { // suppose region has on listener, and we want to delete that one CacheListener oldOne = mock(CacheListener.class); when(region.getCacheListeners()).thenReturn(new CacheListener[] {oldOne}); regionAttributes.getCacheListeners().add(DeclarableType.EMPTY); function.alterRegion(cache, config); verify(mutator).removeCacheListener(oldOne); verify(mutator, times(0)).addCacheListener(any()); }
public static void registerInterest() { Cache cache = new ClientServerMiscDUnitTestBase().getCache(); Region r = cache.getRegion(Region.SEPARATOR + REGION_NAME2); assertNotNull(r); r.registerInterest("ALL_KEYS"); r.getAttributesMutator().addCacheListener(new MemberIDVerifier()); }
mutator.addCacheListener(DeclarableTypeInstantiator.newInstance(newCacheListener, cache));
region.setUserAttribute(new LinkedBlockingQueue<Integer>()); region.getAttributesMutator().addCacheListener(new CacheListenerAdapter<String, Integer>() { @Override public void afterUpdate(EntryEvent<String, Integer> event) {
public GemfireMetadataStore(Region<String, String> region) { Assert.notNull(region, "'region' must not be null"); this.region = region; this.region.getAttributesMutator() .addCacheListener(this.cacheListener); }
@Override protected void doStart() { if (this.logger.isInfoEnabled()) { this.logger.info("adding MessageProducingCacheListener to GemFire Region '" + this.region.getName() + "'"); } this.region.getAttributesMutator().addCacheListener(this.listener); }
protected void createOrRetrieveRegion() { // Retrieve the local session region this.sessionRegion = this.cache.getRegion(getSessionManager().getRegionName()); // If necessary, create the regions on the server and client if (this.sessionRegion == null) { // Create the PR on the servers createSessionRegionOnServers(); // Create the region on the client this.sessionRegion = createLocalSessionRegion(); if (getSessionManager().getLogger().isDebugEnabled()) { getSessionManager().getLogger().debug("Created session region: " + this.sessionRegion); } } else { if (getSessionManager().getLogger().isDebugEnabled()) { getSessionManager().getLogger().debug("Retrieved session region: " + this.sessionRegion); } // Check that we have our expiration listener attached if (!regionHasExpirationListenerAttached(sessionRegion)) { sessionRegion.getAttributesMutator().addCacheListener(new SessionExpirationCacheListener()); } // This is true for PROXY regions if (sessionRegion.getAttributes().getDataPolicy() == DataPolicy.EMPTY) { sessionRegion.registerInterest("ALL_KEYS", InterestResultPolicy.KEYS); } } }
/** * Initializes the cache {@link Region} used to store and manage {@link Session} state and register this * {@link SessionRepository} as an Apache Geode / Pivotal GemFire {@link org.apache.geode.cache.CacheListener}. * * @param sessionsRegion {@link Region} to initialize. * @return the given {@link Region}. * @see org.apache.geode.cache.Region * @see #newSessionEventHandler() * @see #newSessionIdInterestRegistrar() */ private Region<Object, Session> initializeSessionsRegion(@Nullable Region<Object, Session> sessionsRegion) { Optional.ofNullable(sessionsRegion) .map(Region::getAttributesMutator) .ifPresent(sessionsRegionAttributesMutator -> { this.sessionEventHandler = newSessionEventHandler(); sessionsRegionAttributesMutator.addCacheListener(this.sessionEventHandler); if (GemFireUtils.isNonLocalClientRegion(sessionsRegion)) { this.registerInterestEnabled = true; sessionsRegionAttributesMutator.addCacheListener(newSessionIdInterestRegistrar()); } }); return sessionsRegion; }
.when(mockAttributesMutator).addCacheListener(any(CacheListener.class));