protected String getDiskStoreName(final AsyncEventQueue queue) { return StringUtils.defaultIfBlank(queue.getDiskStoreName(), DiskStoreDetails.DEFAULT_DISK_STORE_NAME); }
@Test public void testGetAsyncEventQueueDiskStoreNameUsingDefaultDiskStore() { final AsyncEventQueue mockQueue = mock(AsyncEventQueue.class, "AsyncEventQueue"); when(mockQueue.getDiskStoreName()).thenReturn(null); final DescribeDiskStoreFunction function = new DescribeDiskStoreFunction(); assertThat(function.getDiskStoreName(mockQueue)) .isEqualTo(DiskStoreDetails.DEFAULT_DISK_STORE_NAME); }
@Test public void testIsAsyncEventQueueUsingDiskStoreWhenUsingDefaultDiskStore() { final DiskStore mockDiskStore = mock(DiskStore.class, "DiskStore"); final AsyncEventQueue mockQueue = mock(AsyncEventQueue.class, "AsyncEventQueue"); when(mockQueue.getDiskStoreName()).thenReturn(" "); when(mockQueue.isPersistent()).thenReturn(true); when(mockDiskStore.getName()).thenReturn(DiskStoreDetails.DEFAULT_DISK_STORE_NAME); final DescribeDiskStoreFunction function = new DescribeDiskStoreFunction(); assertThat(function.isUsingDiskStore(mockQueue, mockDiskStore)).isTrue(); }
@Test public void testIsAsyncEventQueueUsingDiskStore() { final String diskStoreName = "testDiskStore"; final DiskStore mockDiskStore = mock(DiskStore.class, "DiskStore"); final AsyncEventQueue mockQueue = mock(AsyncEventQueue.class, "AsyncEventQueue"); when(mockQueue.getDiskStoreName()).thenReturn(diskStoreName); when(mockQueue.isPersistent()).thenReturn(true); when(mockDiskStore.getName()).thenReturn(diskStoreName); final DescribeDiskStoreFunction function = new DescribeDiskStoreFunction(); assertThat(function.isUsingDiskStore(mockQueue, mockDiskStore)).isTrue(); }
@Test public void testGetAsyncEventQueueDiskStoreName() { final String expectedDiskStoreName = "testDiskStore"; final AsyncEventQueue mockQueue = mock(AsyncEventQueue.class, "AsyncEventQueue"); when(mockQueue.getDiskStoreName()).thenReturn(expectedDiskStoreName); final DescribeDiskStoreFunction function = new DescribeDiskStoreFunction(); assertThat(function.getDiskStoreName(mockQueue)).isEqualTo(expectedDiskStoreName); }
@Test public void testIsAsyncEventQueueUsingDiskStoreWhenDiskStoresMismatch() { final DiskStore mockDiskStore = mock(DiskStore.class, "DiskStore"); final AsyncEventQueue mockQueue = mock(AsyncEventQueue.class, "AsyncEventQueue"); when(mockQueue.getDiskStoreName()).thenReturn("mockDiskStore"); when(mockQueue.isPersistent()).thenReturn(true); when(mockDiskStore.getName()).thenReturn(DiskStoreDetails.DEFAULT_DISK_STORE_NAME); final DescribeDiskStoreFunction function = new DescribeDiskStoreFunction(); assertThat(function.isUsingDiskStore(mockQueue, mockDiskStore)).isFalse(); }
private Set<DiskStoreDetails.AsyncEventQueueDetails> setupAsyncEventQueuesForTestExecute( final InternalCache mockCache, final String diskStoreName) { final AsyncEventQueue mockAsyncEventQueue1 = mock(AsyncEventQueue.class, "AsyncEventQueue1"); final AsyncEventQueue mockAsyncEventQueue2 = mock(AsyncEventQueue.class, "AsyncEventQueue2"); final AsyncEventQueue mockAsyncEventQueue3 = mock(AsyncEventQueue.class, "AsyncEventQueue3"); when(mockCache.getAsyncEventQueues()).thenReturn( CollectionUtils.asSet(mockAsyncEventQueue1, mockAsyncEventQueue2, mockAsyncEventQueue3)); when(mockAsyncEventQueue1.isPersistent()).thenReturn(true); when(mockAsyncEventQueue1.getDiskStoreName()).thenReturn(diskStoreName); when(mockAsyncEventQueue1.getId()).thenReturn("9876543210"); when(mockAsyncEventQueue2.isPersistent()).thenReturn(false); when(mockAsyncEventQueue3.isPersistent()).thenReturn(true); when(mockAsyncEventQueue3.getDiskStoreName()).thenReturn("memSto"); return CollectionUtils.asSet(createAsyncEventQueueDetails("9876543210")); }
@Override public CliFunctionResult executeFunction(final FunctionContext context) { Cache cache = context.getCache(); DistributedMember member = cache.getDistributedSystem().getDistributedMember(); // Identify by name if the name is non-trivial. Otherwise, use the ID String memberId = !member.getName().equals("") ? member.getName() : member.getId(); Set<AsyncEventQueue> asyncEventQueues = cache.getAsyncEventQueues(); List<AsyncEventQueueDetails> details = asyncEventQueues.stream().map(queue -> { AsyncEventListener listener = queue.getAsyncEventListener(); Properties listenerProperties = new Properties(); if (listener instanceof Declarable2) { listenerProperties = ((Declarable2) listener).getConfig(); } return new AsyncEventQueueDetails(queue.getId(), queue.getBatchSize(), queue.isPersistent(), queue.getDiskStoreName(), queue.getMaximumQueueMemory(), listener.getClass().getName(), listenerProperties); }).collect(Collectors.toList()); return new CliFunctionResult(memberId, details); } }
@Test public void testSetAsyncEventQueueDetails() { final String diskStoreName = "testDiskStore"; final DiskStore mockDiskStore = mock(DiskStore.class, "DiskStore"); final AsyncEventQueue mockQueue1 = mock(AsyncEventQueue.class, "AsyncEvenQueue1"); final AsyncEventQueue mockQueue2 = mock(AsyncEventQueue.class, "AsyncEvenQueue2"); final AsyncEventQueue mockQueue3 = mock(AsyncEventQueue.class, "AsyncEvenQueue3"); when(mockCache.getAsyncEventQueues()) .thenReturn(CollectionUtils.asSet(mockQueue1, mockQueue2, mockQueue3)); when(mockQueue1.isPersistent()).thenReturn(true); when(mockQueue1.getDiskStoreName()).thenReturn(diskStoreName); when(mockQueue1.getId()).thenReturn("q1"); when(mockQueue2.isPersistent()).thenReturn(true); when(mockQueue2.getDiskStoreName()).thenReturn(null); when(mockQueue3.isPersistent()).thenReturn(false); when(mockDiskStore.getName()).thenReturn(diskStoreName); final Set<DiskStoreDetails.AsyncEventQueueDetails> expectedAsyncEventQueueDetails = CollectionUtils.asSet(createAsyncEventQueueDetails("q1")); final DiskStoreDetails diskStoreDetails = new DiskStoreDetails(diskStoreName, "memberOne"); final DescribeDiskStoreFunction function = new DescribeDiskStoreFunction(); function.setAsyncEventQueueDetails(mockCache, mockDiskStore, diskStoreDetails); assertAsyncEventQueueDetails(expectedAsyncEventQueueDetails, diskStoreDetails); verify(mockDiskStore, atLeastOnce()).getName(); }
if (asyncEventQueue.isPersistent()) { if (generateDefaults() || (asyncEventQueue.getDiskStoreName() != null && !asyncEventQueue.getDiskStoreName().equals(""))) atts.addAttribute("", "", DISK_STORE_NAME, "", String.valueOf(asyncEventQueue.getDiskStoreName()));
public static void validateAsyncEventQueue(AsyncEventQueue eventChannelFromXml, AsyncEventQueue channel) { assertEquals("AsyncEventQueue id doesn't match", eventChannelFromXml.getId(), channel.getId()); assertEquals("AsyncEventQueue batchSize doesn't match", eventChannelFromXml.getBatchSize(), channel.getBatchSize()); assertEquals("AsyncEventQueue batchTimeInterval doesn't match", eventChannelFromXml.getBatchTimeInterval(), channel.getBatchTimeInterval()); assertEquals("AsyncEventQueue batchConflationEnabled doesn't match", eventChannelFromXml.isBatchConflationEnabled(), channel.isBatchConflationEnabled()); assertEquals("AsyncEventQueue persistent doesn't match", eventChannelFromXml.isPersistent(), channel.isPersistent()); assertEquals("AsyncEventQueue diskStoreName doesn't match", eventChannelFromXml.getDiskStoreName(), channel.getDiskStoreName()); assertEquals("AsyncEventQueue isDiskSynchronous doesn't match", eventChannelFromXml.isDiskSynchronous(), channel.isDiskSynchronous()); assertEquals("AsyncEventQueue maximumQueueMemory doesn't match", eventChannelFromXml.getMaximumQueueMemory(), channel.getMaximumQueueMemory()); assertEquals("AsyncEventQueue Parallel doesn't match", eventChannelFromXml.isParallel(), channel.isParallel()); assertEquals("AsyncEventQueue GatewayEventFilters doesn't match", eventChannelFromXml.getGatewayEventFilters().size(), channel.getGatewayEventFilters().size()); assertTrue("AsyncEventQueue should be instanceof Creation", eventChannelFromXml instanceof AsyncEventQueueCreation); assertTrue("AsyncEventQueue should be instanceof Impl", channel instanceof AsyncEventQueueImpl); }
public void configureAsyncEventQueue(AsyncEventQueue asyncQueueCreation) { gatewaySenderAttributes.batchSize = asyncQueueCreation.getBatchSize(); gatewaySenderAttributes.batchTimeInterval = asyncQueueCreation.getBatchTimeInterval(); gatewaySenderAttributes.isBatchConflationEnabled = asyncQueueCreation.isBatchConflationEnabled(); gatewaySenderAttributes.isPersistenceEnabled = asyncQueueCreation.isPersistent(); gatewaySenderAttributes.diskStoreName = asyncQueueCreation.getDiskStoreName(); gatewaySenderAttributes.isDiskSynchronous = asyncQueueCreation.isDiskSynchronous(); gatewaySenderAttributes.maximumQueueMemory = asyncQueueCreation.getMaximumQueueMemory(); gatewaySenderAttributes.isParallel = asyncQueueCreation.isParallel(); gatewaySenderAttributes.isBucketSorted = ((AsyncEventQueueCreation) asyncQueueCreation).isBucketSorted(); gatewaySenderAttributes.dispatcherThreads = asyncQueueCreation.getDispatcherThreads(); gatewaySenderAttributes.policy = asyncQueueCreation.getOrderPolicy(); gatewaySenderAttributes.eventFilters = asyncQueueCreation.getGatewayEventFilters(); gatewaySenderAttributes.eventSubstitutionFilter = asyncQueueCreation.getGatewayEventSubstitutionFilter(); gatewaySenderAttributes.isForInternalUse = true; gatewaySenderAttributes.forwardExpirationDestroy = asyncQueueCreation.isForwardExpirationDestroy(); }
when(mockAsyncEventQueue.getBatchSize()).thenAnswer(newGetter(batchSize)); when(mockAsyncEventQueue.getBatchTimeInterval()).thenAnswer(newGetter(batchTimeInterval)); when(mockAsyncEventQueue.getDiskStoreName()).thenAnswer(newGetter(diskStoreName)); when(mockAsyncEventQueue.getDispatcherThreads()).thenAnswer(newGetter(dispatcherThreads)); when(mockAsyncEventQueue.getGatewayEventFilters()).thenReturn(gatewayEventFilters);
.withDetail(asyncEventQueueKey(asyncEventQueueId, "batch-size"), asyncEventQueue.getBatchSize()) .withDetail(asyncEventQueueKey(asyncEventQueueId, "batch-time-interval"), asyncEventQueue.getBatchTimeInterval()) .withDetail(asyncEventQueueKey(asyncEventQueueId, "disk-store-name"), asyncEventQueue.getDiskStoreName()) .withDetail(asyncEventQueueKey(asyncEventQueueId, "disk-synchronous"), toYesNoString(asyncEventQueue.isDiskSynchronous())) .withDetail(asyncEventQueueKey(asyncEventQueueId, "dispatcher-threads"), asyncEventQueue.getDispatcherThreads())