/** * Monitors when other members that participate in this persistent region are removed and creates * a log entry marking the event. */ private void startPersistenceProfileLogging() { this.distAdvisor.addProfileChangeListener(new ProfileListener() { @Override public void profileCreated(Profile profile) { } @Override public void profileUpdated(Profile profile) { } @Override public void profileRemoved(Profile profile, boolean destroyed) { /* * Don't bother logging membership activity if our region isn't ready. */ if(isInitialized()) { CacheProfile cacheProfile = ((profile instanceof CacheProfile) ? (CacheProfile) profile : null); Set<String> onlineMembers = new HashSet<String>(); TransformUtils.transform(PartitionedRegion.this.distAdvisor.advisePersistentMembers().values(),onlineMembers,TransformUtils.persistentMemberIdToLogEntryTransformer); PartitionedRegion.this.logger.info(LocalizedStrings.PersistenceAdvisorImpl_PERSISTENT_VIEW, new Object[] {PartitionedRegion.this.getName(),TransformUtils.persistentMemberIdToLogEntryTransformer.transform(cacheProfile.persistentID),onlineMembers}); } } }); }
/** * Monitors when other members that participate in this persistent region are removed and creates * a log entry marking the event. */ private void startPersistenceProfileLogging() { this.distAdvisor.addProfileChangeListener(new ProfileListener() { @Override public void profileCreated(Profile profile) { } @Override public void profileUpdated(Profile profile) { } @Override public void profileRemoved(Profile profile, boolean destroyed) { /* * Don't bother logging membership activity if our region isn't ready. */ if(isInitialized()) { CacheProfile cacheProfile = ((profile instanceof CacheProfile) ? (CacheProfile) profile : null); Set<String> onlineMembers = new HashSet<String>(); TransformUtils.transform(PartitionedRegion.this.distAdvisor.advisePersistentMembers().values(),onlineMembers,TransformUtils.persistentMemberIdToLogEntryTransformer); logger.info(LocalizedMessage.create(LocalizedStrings.PersistenceAdvisorImpl_PERSISTENT_VIEW, new Object[] {PartitionedRegion.this.getName(),TransformUtils.persistentMemberIdToLogEntryTransformer.transform(cacheProfile.persistentID),onlineMembers})); } } }); }
public void waitForProfileStatus(int status) { ProfileShutdownListener listener = new ProfileShutdownListener(); addProfileChangeListener(listener); try { int memberNum = 0; String regionName = getPartitionedRegion().getFullPath(); do { Region pr = getPartitionedRegion().getCache().getRegion(regionName); if (pr == null || pr.isDestroyed()) break; Set members = adviseNotAtShutDownAllStatus(status); memberNum = members.size(); if (memberNum >0) { if (logger.isDebugEnabled()) { logger.debug("waitForProfileStatus {} at PR:{}, expecting {} members: {}", status, getPartitionedRegion().getFullPath(), memberNum, members); } listener.waitForChange(); } } while (memberNum > 0); } finally { removeProfileChangeListener(listener); } }
public void waitForProfileStatus(int status) { ProfileShutdownListener listener = new ProfileShutdownListener(); addProfileChangeListener(listener); try { int memberNum = 0; String regionName = getPartitionedRegion().getFullPath(); do { Region pr = getPartitionedRegion().getCache().getRegion(regionName); if (pr == null || pr.isDestroyed()) break; Set members = adviseNotAtShutDownAllStatus(status); memberNum = members.size(); if (memberNum >0) { getDistributionManager().getLoggerI18n().fine("waitForProfileStatus "+status+" at PR:"+getPartitionedRegion().getFullPath()+", expecting "+memberNum+" members:"+members); listener.waitForChange(); } } while (memberNum > 0); } finally { removeProfileChangeListener(listener); } }