@Override public void configureGatewaySender(GatewaySender senderCreation) { this.attrs.isParallel = senderCreation.isParallel(); this.attrs.manualStart = senderCreation.isManualStart(); this.attrs.socketBufferSize = senderCreation.getSocketBufferSize(); this.attrs.socketReadTimeout = senderCreation.getSocketReadTimeout(); this.attrs.isBatchConflationEnabled = senderCreation.isBatchConflationEnabled(); this.attrs.batchSize = senderCreation.getBatchSize(); this.attrs.batchTimeInterval = senderCreation.getBatchTimeInterval(); this.attrs.isPersistenceEnabled = senderCreation.isPersistenceEnabled(); this.attrs.diskStoreName = senderCreation.getDiskStoreName(); this.attrs.isDiskSynchronous = senderCreation.isDiskSynchronous(); this.attrs.maximumQueueMemory = senderCreation.getMaximumQueueMemory(); this.attrs.alertThreshold = senderCreation.getAlertThreshold(); this.attrs.dispatcherThreads = senderCreation.getDispatcherThreads(); this.attrs.policy = senderCreation.getOrderPolicy(); for (GatewayEventFilter filter : senderCreation.getGatewayEventFilters()) { this.attrs.eventFilters.add(filter); } for (GatewayTransportFilter filter : senderCreation.getGatewayTransportFilters()) { this.attrs.transFilters.add(filter); } this.attrs.eventSubstitutionFilter = senderCreation.getGatewayEventSubstitutionFilter(); } }
public Set<String> getParallelGatewaySenderIds() { Set<String> regionGatewaySenderIds = this.getAllGatewaySenderIds(); if (regionGatewaySenderIds.isEmpty()) { return Collections.emptySet(); } Set<GatewaySender> cacheGatewaySenders = getCache().getAllGatewaySenders(); Set<String> parallelGatewaySenderIds = new HashSet<String>(); for (GatewaySender sender : cacheGatewaySenders) { if (regionGatewaySenderIds.contains(sender.getId()) && sender.isParallel()) { parallelGatewaySenderIds.add(sender.getId()); } } return parallelGatewaySenderIds; }
/** * Return the remote DS IDs that need to receive events for this region. * * @param allGatewaySenderIds the set of gateway sender IDs to consider */ List<Integer> getRemoteDsIds(Set<String> allGatewaySenderIds) throws IllegalStateException { int sz = allGatewaySenderIds.size(); Set<GatewaySender> allGatewaySenders = this.cache.getAllGatewaySenders(); if ((sz > 0 || this.isPdxTypesRegion) && !allGatewaySenders.isEmpty()) { List<Integer> allRemoteDSIds = new ArrayList<>(sz); for (GatewaySender sender : allGatewaySenders) { // This is for all regions except pdx Region if (!this.isPdxTypesRegion) { // Make sure we are distributing to only those senders whose id // is available on this region if (allGatewaySenderIds.contains(sender.getId())) { allRemoteDSIds.add(sender.getRemoteDSId()); } } else { // this else is for PDX region allRemoteDSIds.add(sender.getRemoteDSId()); } } return allRemoteDSIds; } return null; }
when(mockGatewaySender.isBatchConflationEnabled()).thenAnswer(newGetter(batchConflationEnabled)); when(mockGatewaySender.isDiskSynchronous()).thenAnswer(newGetter(diskSynchronous)); when(mockGatewaySender.isParallel()).thenAnswer(newGetter(parallel)); when(mockGatewaySender.isPaused()).thenAnswer(newGetter(running)); when(mockGatewaySender.isPersistenceEnabled()).thenAnswer(newGetter(persistenceEnabled)); when(mockGatewaySender.isRunning()).thenAnswer(newGetter(running)); when(mockGatewaySender.getAlertThreshold()).thenAnswer(newGetter(alertThreshold)); when(mockGatewaySender.getBatchSize()).thenAnswer(newGetter(batchSize)); when(mockGatewaySender.getBatchTimeInterval()).thenAnswer(newGetter(batchTimeInterval)); when(mockGatewaySender.getDiskStoreName()).thenAnswer(newGetter(diskStoreName)); when(mockGatewaySender.getDispatcherThreads()).thenAnswer(newGetter(dispatcherThreads)); when(mockGatewaySender.getGatewayEventFilters()).thenReturn(gatewayEventFilters); when(mockGatewaySender.getGatewayEventSubstitutionFilter()).thenAnswer(newGetter(gatewayEventSubstitutionFilter)); when(mockGatewaySender.getGatewayTransportFilters()).thenReturn(gatewayTransportFilters); when(mockGatewaySender.getId()).thenReturn(gatewaySenderId); when(mockGatewaySender.getMaximumQueueMemory()).thenAnswer(newGetter(maximumQueueMemory)); when(mockGatewaySender.getMaxParallelismForReplicatedRegion()).thenAnswer(newGetter(parallelFactorForReplicatedRegion)); when(mockGatewaySender.getOrderPolicy()).thenAnswer(newGetter(orderPolicy)); when(mockGatewaySender.getRemoteDSId()).thenReturn(remoteDistributedSystemId); when(mockGatewaySender.getSocketBufferSize()).thenAnswer(newGetter(socketBufferSize)); when(mockGatewaySender.getSocketReadTimeout()).thenAnswer(newGetter(socketReadTimeout)); }).when(mockGatewaySender).addGatewayEventFilter(any(GatewayEventFilter.class)); doAnswer(newSetter(destroyed, null)).when(mockGatewaySender).destroy(); doAnswer(newSetter(running, false, null)).when(mockGatewaySender).pause(); doAnswer(newSetter(running, true, null)).when(mockGatewaySender).resume(); doAnswer(newSetter(running, true, null)).when(mockGatewaySender).start();
.forEach(gatewaySender -> { String gatewaySenderId = gatewaySender.getId(); builder.withDetail(gatewaySendersKey(gatewaySenderId, "alert-threshold"), gatewaySender.getAlertThreshold()) .withDetail(gatewaySendersKey(gatewaySenderId, "batch-conflation-enabled"), toYesNoString(gatewaySender.isBatchConflationEnabled())) .withDetail(gatewaySendersKey(gatewaySenderId, "batch-size"), gatewaySender.getBatchSize()) .withDetail(gatewaySendersKey(gatewaySenderId, "batch-time-interval"), gatewaySender.getBatchTimeInterval()) .withDetail(gatewaySendersKey(gatewaySenderId, "disk-store-name"), Optional.ofNullable(gatewaySender.getDiskStoreName()) .filter(StringUtils::hasText) .orElse("")) .withDetail(gatewaySendersKey(gatewaySenderId, "disk-synchronous"), toYesNoString(gatewaySender.isDiskSynchronous())) .withDetail(gatewaySendersKey(gatewaySenderId, "dispatcher-threads"), gatewaySender.getDispatcherThreads()) .withDetail(gatewaySendersKey(gatewaySenderId, "max-queue-memory"), gatewaySender.getMaximumQueueMemory()) .withDetail(gatewaySendersKey(gatewaySenderId, "max-parallelism-for-replicated-region"), gatewaySender.getMaxParallelismForReplicatedRegion()) .withDetail(gatewaySendersKey(gatewaySenderId, "order-policy"), gatewaySender.getOrderPolicy()) .withDetail(gatewaySendersKey(gatewaySenderId, "parallel"), toYesNoString(gatewaySender.isParallel())) .withDetail(gatewaySendersKey(gatewaySenderId, "paused"), toYesNoString(gatewaySender.isPaused())) .withDetail(gatewaySendersKey(gatewaySenderId, "persistent"), toYesNoString(gatewaySender.isPersistenceEnabled())) .withDetail(gatewaySendersKey(gatewaySenderId, "remote-distributed-system-id"), gatewaySender.getRemoteDSId()) .withDetail(gatewaySendersKey(gatewaySenderId, "running"), toYesNoString(gatewaySender.isRunning())) .withDetail(gatewaySendersKey(gatewaySenderId, "socket-buffer-size"), gatewaySender.getSocketBufferSize()) .withDetail(gatewaySendersKey(gatewaySenderId, "socket-read-timeout"), gatewaySender.getSocketReadTimeout()); });
/** * Validate whether all the attributes set on AsyncEventQueueFactory are set on the sender * underneath the AsyncEventQueue. */ public static void validateConcurrentAsyncEventQueueAttributes(String asyncChannelId, int maxQueueMemory, int batchSize, int batchTimeInterval, boolean isPersistent, String diskStoreName, boolean isDiskSynchronous, boolean batchConflationEnabled, int dispatcherThreads, OrderPolicy policy) { AsyncEventQueue theChannel = null; Set<AsyncEventQueue> asyncEventChannels = cache.getAsyncEventQueues(); for (AsyncEventQueue asyncChannel : asyncEventChannels) { if (asyncChannelId.equals(asyncChannel.getId())) { theChannel = asyncChannel; } } GatewaySender theSender = ((AsyncEventQueueImpl) theChannel).getSender(); assertEquals("maxQueueMemory", maxQueueMemory, theSender.getMaximumQueueMemory()); assertEquals("batchSize", batchSize, theSender.getBatchSize()); assertEquals("batchTimeInterval", batchTimeInterval, theSender.getBatchTimeInterval()); assertEquals("isPersistent", isPersistent, theSender.isPersistenceEnabled()); assertEquals("diskStoreName", diskStoreName, theSender.getDiskStoreName()); assertEquals("isDiskSynchronous", isDiskSynchronous, theSender.isDiskSynchronous()); assertEquals("batchConflation", batchConflationEnabled, theSender.isBatchConflationEnabled()); assertEquals("dispatcherThreads", dispatcherThreads, theSender.getDispatcherThreads()); assertEquals("orderPolicy", policy, theSender.getOrderPolicy()); }
/** * Validate whether all the attributes set on AsyncEventQueueFactory are set on the sender * underneath the AsyncEventQueue. */ public static void validateAsyncEventQueueAttributes(String asyncChannelId, int maxQueueMemory, int batchSize, int batchTimeInterval, boolean isPersistent, String diskStoreName, boolean isDiskSynchronous, boolean batchConflationEnabled) { AsyncEventQueue theChannel = null; Set<AsyncEventQueue> asyncEventChannels = cache.getAsyncEventQueues(); for (AsyncEventQueue asyncChannel : asyncEventChannels) { if (asyncChannelId.equals(asyncChannel.getId())) { theChannel = asyncChannel; } } GatewaySender theSender = ((AsyncEventQueueImpl) theChannel).getSender(); assertEquals("maxQueueMemory", maxQueueMemory, theSender.getMaximumQueueMemory()); assertEquals("batchSize", batchSize, theSender.getBatchSize()); assertEquals("batchTimeInterval", batchTimeInterval, theSender.getBatchTimeInterval()); assertEquals("isPersistent", isPersistent, theSender.isPersistenceEnabled()); assertEquals("diskStoreName", diskStoreName, theSender.getDiskStoreName()); assertEquals("isDiskSynchronous", isDiskSynchronous, theSender.isDiskSynchronous()); assertEquals("batchConflation", batchConflationEnabled, theSender.isBatchConflationEnabled()); }
public String getSenderId() { return sender.getId(); }
private Set<DiskStoreDetails.GatewayDetails> setupGatewaysForTestExecute( final InternalCache mockCache, final String diskStoreName) { final GatewaySender mockGatewaySender = mock(GatewaySender.class, "GatewaySender"); when(mockCache.getGatewaySenders()).thenReturn(CollectionUtils.asSet(mockGatewaySender)); when(mockGatewaySender.getDiskStoreName()).thenReturn(diskStoreName); when(mockGatewaySender.getId()).thenReturn("0123456789"); when(mockGatewaySender.isPersistenceEnabled()).thenReturn(true); return CollectionUtils.asSet(createGatewayDetails("0123456789", true)); }
throw new IllegalStateException( String.format("A GatewaySender with id %s is already defined in this cache.", sender.getId())); for (InternalRegion region : applicationRegions) { Set<String> senders = region.getAllGatewaySenderIds(); if (senders.contains(sender.getId()) && !sender.isParallel()) { region.senderCreated(); if (!sender.isParallel()) { Region dynamicMetaRegion = getRegion(DynamicRegionFactory.DYNAMIC_REGION_LIST_NAME); if (dynamicMetaRegion == null) { dynamicMetaRegion.getAttributesMutator().addGatewaySenderId(sender.getId()); if (!(sender.getRemoteDSId() < 0)) { this.system.handleResourceEvent(ResourceEvent.GATEWAYSENDER_CREATE, sender);
public String getOverflowDiskStoreName() { return sender.getDiskStoreName(); }
if (!allGatewaySenderIds.isEmpty()) { for (GatewaySender sender : cache.getAllGatewaySenders()) { if (sender.isParallel() && allGatewaySenderIds.contains(sender.getId())) { if (sender.isRunning()) { AbstractGatewaySender senderImpl = (AbstractGatewaySender) sender; ((ConcurrentParallelGatewaySenderQueue) senderImpl.getQueues()
protected boolean isPersistent(final GatewaySender gateway) { return gateway.isPersistenceEnabled(); }
((InternalGatewaySenderFactory) factory).configureGatewaySender(senderCreation); GatewaySender gatewaySender = factory.create(senderCreation.getId(), senderCreation.getRemoteDSId()); if (gatewaySender.isManualStart()) { cache.getLogger().info( String.format("%s is not being started since it is configured for manual start",
if (sender.isRunning()) { System.out.println("Sender " + sender.getId() + " is running"); while (sender.isRunning()) { System.out.println("Waitng for sender to stop through DistributedSystemListener"); System.out.println("Start WANBootStrapping_Site2_Remove"); System.out.println("Sender " + sender.getId() + " is stopped");
cache.createGatewaySenderFactory().setManualStart(true).setPersistenceEnabled(false) .setDiskStoreName("LN_" + remoteDsId).create("LN_" + remoteDsId, remoteDsId); System.out.println("Sender Created : " + serialSender.getId()); serialSender.start(); System.out.println("Sender Started: " + serialSender.getId()); } catch (Exception e) { e.printStackTrace();
public AbstractGatewaySenderEventProcessor(String string, GatewaySender sender, ThreadsMonitoring tMonitoring) { super(string); this.sender = (AbstractGatewaySender) sender; this.batchSize = sender.getBatchSize(); this.threadMonitoring = tMonitoring; }
public int getDispatcherThreads() { return sender.getDispatcherThreads(); }
public long getBatchTimeInterval() { return sender.getBatchTimeInterval(); }
public boolean isBatchConflationEnabled() { return sender.isBatchConflationEnabled(); }