protected boolean isUsingDiskStore(final AsyncEventQueue queue, final DiskStore diskStore) { return (queue.isPersistent() && ObjectUtils.equals(getDiskStoreName(queue), diskStore.getName())); }
@Test public void testIsAsyncEventQueueUsingDiskStoreWhenQueueIsNotPersistent() { final DiskStore mockDiskStore = mock(DiskStore.class, "DiskStore"); final AsyncEventQueue mockQueue = mock(AsyncEventQueue.class, "AsyncEventQueue"); when(mockQueue.isPersistent()).thenReturn(false); final DescribeDiskStoreFunction function = new DescribeDiskStoreFunction(); assertThat(function.isUsingDiskStore(mockQueue, mockDiskStore)).isFalse(); }
@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 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(); }
|| asyncEventQueue.isPersistent() != GatewaySender.DEFAULT_PERSISTENCE_ENABLED) atts.addAttribute("", "", PERSISTENT, "", String.valueOf(asyncEventQueue.isPersistent())); if (asyncEventQueue.isPersistent()) {
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.isForwardExpirationDestroy()).thenAnswer(newGetter(forwardExpirationDestroy)); when(mockAsyncEventQueue.isParallel()).thenAnswer(newGetter(parallel)); when(mockAsyncEventQueue.isPersistent()).thenAnswer(newGetter(persistent)); when(mockAsyncEventQueue.isPrimary()).thenReturn(false);
.withDetail(asyncEventQueueKey(asyncEventQueueId, "order-policy"), asyncEventQueue.getOrderPolicy()) .withDetail(asyncEventQueueKey(asyncEventQueueId, "parallel"), toYesNoString(asyncEventQueue.isParallel())) .withDetail(asyncEventQueueKey(asyncEventQueueId, "persistent"), toYesNoString(asyncEventQueue.isPersistent())) .withDetail(asyncEventQueueKey(asyncEventQueueId, "primary"), toYesNoString(asyncEventQueue.isPrimary())) .withDetail(asyncEventQueueKey(asyncEventQueueId, "size"), asyncEventQueue.size());