private void createAsyncQueue(CacheConfig cacheConfig, RegionAttributesType attributes, String queueName) { AsyncEventQueue asyncEventQueue = new AsyncEventQueue(); asyncEventQueue.setId(queueName); boolean isPartitioned = attributes.getDataPolicy().equals(RegionAttributesDataPolicy.PARTITION) || attributes.getDataPolicy().equals(RegionAttributesDataPolicy.PERSISTENT_PARTITION); asyncEventQueue.setParallel(isPartitioned); DeclarableType listener = new DeclarableType(); listener.setClassName(JdbcAsyncWriter.class.getName()); asyncEventQueue.setAsyncEventListener(listener); cacheConfig.getAsyncEventQueues().add(asyncEventQueue); }
@Test public void updateClusterConfigWithOneMatchingPartitionedRegionCreatesParallelAsyncEventQueue() { List<RegionConfig> list = new ArrayList<>(); List<CacheElement> listCacheElements = new ArrayList<>(); when(matchingRegion.getCustomRegionElements()).thenReturn(listCacheElements); list.add(matchingRegion); when(cacheConfig.getRegions()).thenReturn(list); List<CacheConfig.AsyncEventQueue> queueList = new ArrayList<>(); when(cacheConfig.getAsyncEventQueues()).thenReturn(queueList); when(matchingRegionAttributes.getDataPolicy()) .thenReturn(RegionAttributesDataPolicy.PARTITION); createRegionMappingCommand.updateConfigForGroup(null, cacheConfig, arguments); assertThat(queueList.get(0).isParallel()).isTrue(); }
@Before public void setup() { regionName = "regionName"; cache = mock(InternalCache.class); members = new HashSet<>(); members.add(mock(InternalDistributedMember.class)); destroyRegionMappingCommand = spy(DestroyMappingCommand.class); destroyRegionMappingCommand.setCache(cache); results = new ArrayList<>(); successFunctionResult = mock(CliFunctionResult.class); when(successFunctionResult.isSuccessful()).thenReturn(true); doReturn(results).when(destroyRegionMappingCommand).executeAndGetFunctionResult(any(), any(), any()); doReturn(members).when(destroyRegionMappingCommand).findMembersForRegion(regionName); cacheConfig = mock(CacheConfig.class); matchingRegion = mock(RegionConfig.class); when(matchingRegion.getName()).thenReturn(regionName); matchingRegionAttributes = mock(RegionAttributesType.class); when(matchingRegionAttributes.getDataPolicy()).thenReturn(RegionAttributesDataPolicy.REPLICATE); when(matchingRegion.getRegionAttributes()).thenReturn(matchingRegionAttributes); }
@Before public void setup() { regionName = "regionName"; dataSourceName = "connection"; tableName = "testTable"; pdxClass = "myPdxClass"; cache = mock(InternalCache.class); members = new HashSet<>(); members.add(mock(InternalDistributedMember.class)); createRegionMappingCommand = spy(CreateMappingCommand.class); createRegionMappingCommand.setCache(cache); results = new ArrayList<>(); successFunctionResult = mock(CliFunctionResult.class); when(successFunctionResult.isSuccessful()).thenReturn(true); doReturn(results).when(createRegionMappingCommand).executeAndGetFunctionResult(any(), any(), any()); doReturn(members).when(createRegionMappingCommand).findMembersForRegion(regionName); mapping = mock(RegionMapping.class); when(mapping.getRegionName()).thenReturn(regionName); cacheConfig = mock(CacheConfig.class); matchingRegion = mock(RegionConfig.class); when(matchingRegion.getName()).thenReturn(regionName); matchingRegionAttributes = mock(RegionAttributesType.class); when(matchingRegionAttributes.getDataPolicy()).thenReturn(RegionAttributesDataPolicy.REPLICATE); when(matchingRegion.getRegionAttributes()).thenReturn(matchingRegionAttributes); arguments[0] = mapping; arguments[1] = false; }
@Test public void alterWithCloningEnabled() { RegionAttributesType regionAttributes = getDeltaRegionConfig("alter region --name=regionA --enable-cloning=false") .getRegionAttributes(); assertThat(regionAttributes.isCloningEnabled()).isFalse(); assertThat(regionAttributes.getAsyncEventQueueIds()).isNull(); assertThat(regionAttributes.getDataPolicy()).isNull(); assertThat(regionAttributes.getGatewaySenderIds()).isNull(); assertThat(regionAttributes.getCacheLoader()).isNull(); assertThat(regionAttributes.getCacheWriter()).isNull(); assertThat(regionAttributes.getCacheListeners()).isNotNull().isEmpty(); assertThat(regionAttributes.getEvictionAttributes()).isNull(); assertThat(regionAttributes.getEntryIdleTime()).isNull(); assertThat(regionAttributes.getEntryTimeToLive()).isNull(); assertThat(regionAttributes.getRegionIdleTime()).isNull(); assertThat(regionAttributes.getRegionTimeToLive()).isNull(); }
private RegionFactory getRegionFactory(Cache cache, RegionAttributesType regionAttributes) { RegionFactory factory = cache.createRegionFactory(); factory.setDataPolicy(DataPolicy.fromString(regionAttributes.getDataPolicy().name()));