@Override public RpcOptionsBuilder getRpcOptionsBuilder(ResponseMode responseMode, DeliverOrder deliverOrder) { return actual.getRpcOptionsBuilder(responseMode, deliverOrder); }
@Override public RpcOptionsBuilder getRpcOptionsBuilder(ResponseMode responseMode) { return actual.getRpcOptionsBuilder(responseMode); }
@Override public RpcOptionsBuilder getRpcOptionsBuilder(ResponseMode responseMode, DeliverOrder deliverOrder) { return delegate.getRpcOptionsBuilder(responseMode, deliverOrder); }
@Override public RpcOptionsBuilder getRpcOptionsBuilder(ResponseMode responseMode) { return delegate.getRpcOptionsBuilder(responseMode); }
@Deprecated @Override public RpcOptionsBuilder getRpcOptionsBuilder(ResponseMode responseMode) { return realOne.getRpcOptionsBuilder(responseMode); }
@Deprecated @Override public RpcOptionsBuilder getRpcOptionsBuilder(ResponseMode responseMode, DeliverOrder deliverOrder) { return realOne.getRpcOptionsBuilder(responseMode, deliverOrder); }
@Start public void start() { asyncUnordered = rpcManager.getRpcOptionsBuilder(ResponseMode.ASYNCHRONOUS, DeliverOrder.NONE).build(); }
ClusteredQueryInvoker(AdvancedCache<?, ?> cache, ExecutorService asyncExecutor) { this.cache = cache; this.asyncExecutor = asyncExecutor; this.rpcManager = cache.getRpcManager(); this.myAddress = rpcManager.getAddress(); this.rpcOptions = rpcManager.getRpcOptionsBuilder(ResponseMode.SYNCHRONOUS).timeout(10000, TimeUnit.MILLISECONDS).build(); }
@Start private void start() { this.cacheName = ByteString.fromString(cache.getName()); this.setStatisticsEnabled(cacheConfiguration.jmxStatistics().enabled()); syncRpcOptions = rpcManager.getRpcOptionsBuilder(ResponseMode.SYNCHRONOUS_IGNORE_LEAVERS, DeliverOrder.NONE).build(); }
@BeforeMethod private void createAndInitStateReceiver() { CommandsFactory commandsFactory = mock(CommandsFactory.class); InternalDataContainer dataContainer = mock(InternalDataContainer.class); RpcManager rpcManager = mock(RpcManager.class); CacheNotifier cacheNotifier = mock(CacheNotifier.class); ExecutorService stateTransferExecutor = Executors.newSingleThreadExecutor(); when(rpcManager.invokeRemotely(any(Collection.class), any(StateRequestCommand.class), any(RpcOptions.class))) .thenAnswer(invocation -> { Collection<Address> recipients = (Collection<Address>) invocation.getArguments()[0]; Address recipient = recipients.iterator().next(); StateRequestCommand cmd = (StateRequestCommand) invocation.getArguments()[1]; Map<Address, Response> results = new HashMap<>(1); if (cmd.getType().equals(StateRequestCommand.Type.START_CONSISTENCY_CHECK) || cmd.getType().equals(StateRequestCommand.Type.CANCEL_CONSISTENCY_CHECK)) { results.put(recipient, SuccessfulResponse.SUCCESSFUL_EMPTY_RESPONSE); } return results; }); when(rpcManager.getRpcOptionsBuilder(any(ResponseMode.class))).thenAnswer(invocation -> { Object[] args = invocation.getArguments(); return new RpcOptionsBuilder(10000, TimeUnit.MILLISECONDS, (ResponseMode) args[0], DeliverOrder.PER_SENDER); }); StateReceiverImpl stateReceiver = new StateReceiverImpl(); TestingUtil.inject(stateReceiver, cacheNotifier, commandsFactory, dataContainer, rpcManager, stateTransferExecutor); stateReceiver.start(); stateReceiver.onDataRehash(createEventImpl(2, 4, Event.Type.DATA_REHASHED)); this.localizedCacheTopology = createLocalizedCacheTopology(4); this.stateReceiver = spy(stateReceiver); }
ClusteredQueryInvoker(Cache<?, ?> localCacheInstance, ExecutorService asyncExecutor) { this.asyncExecutor = asyncExecutor; this.rpcManager = localCacheInstance.getAdvancedCache().getComponentRegistry().getLocalComponent(RpcManager.class); this.localCacheInstance = localCacheInstance; this.myAddress = localCacheInstance.getAdvancedCache().getRpcManager().getAddress(); this.rpcOptions = rpcManager.getRpcOptionsBuilder(ResponseMode.SYNCHRONOUS).timeout(10000, TimeUnit.MILLISECONDS).build(); }
private void doTest(ResponseFilter filter, boolean totalOrder, boolean broadcast) { RpcManager rpcManager = advancedCache(0, CACHE_NAME).getRpcManager(); RpcOptionsBuilder builder = rpcManager.getRpcOptionsBuilder(ResponseMode.SYNCHRONOUS, totalOrder ? DeliverOrder.TOTAL : DeliverOrder.NONE) .timeout(1000, TimeUnit.MILLISECONDS); ArrayList<Address> recipients = null; if (!broadcast) { List<Address> members = rpcManager.getMembers(); recipients = new ArrayList<>(2); recipients.add(members.get(2)); recipients.add(members.get(3)); } if (filter != null) { builder.responseFilter(filter); } rpcManager.invokeRemotely(recipients, new SleepingCacheRpcCommand(ByteString.fromString(CACHE_NAME), 5000), builder.build()); Assert.fail("Timeout exception wasn't thrown"); }
when(rpcManager.getRpcOptionsBuilder(any(ResponseMode.class))).thenAnswer(invocation -> { Object[] args = invocation.getArguments(); return new RpcOptionsBuilder(10000, TimeUnit.MILLISECONDS, (ResponseMode) args[0], DeliverOrder.PER_SENDER);
/** * Test to make sure that invokeRemotely with a ResponseMode argument returns the result from the remote side. */ public void testInvokeRemotelyWithResponseModeWithRemoteException() { RpcManager rpcManager = cache(0, "testCache").getAdvancedCache().getRpcManager(); ReplicableCommand command = createReplicableCommandForTest(new IllegalArgumentException("exception!")); try { RpcOptions rpcOptions = rpcManager.getRpcOptionsBuilder(ResponseMode.SYNCHRONOUS_IGNORE_LEAVERS) .timeout(5000, TimeUnit.MILLISECONDS).build(); rpcManager.invokeRemotely(null, command, rpcOptions); fail("Expected RemoteException not thrown"); } catch (RemoteException e) { assertTrue(e.getCause() instanceof IllegalArgumentException); assertEquals("exception!", e.getCause().getMessage()); } catch (Exception ex) { fail("Expected exception not thrown but instead we got : " + ex); } } }
/** * Test to make sure that invokeRemotely with a ResponseMode argument returns the result from the remote side. */ public void testInvokeRemotelyWithResponseMode() { RpcManager rpcManager = cache(0, "testCache").getAdvancedCache().getRpcManager(); ReplicableCommand command = createReplicableCommandForTest(EXPECTED_RETURN_VALUE); RpcOptions rpcOptions = rpcManager.getRpcOptionsBuilder(ResponseMode.SYNCHRONOUS_IGNORE_LEAVERS) .timeout(5000, TimeUnit.MILLISECONDS).build(); Map<Address, Response> remoteResponses = rpcManager.invokeRemotely(null, command, rpcOptions); log.tracef("Responses were: %s", remoteResponses); assertEquals(1, remoteResponses.size()); Response response = remoteResponses.values().iterator().next(); assertNotNull(response); assertTrue(response.isValid()); assertTrue(response.isSuccessful()); assertTrue(response instanceof SuccessfulResponse); Object value = ((SuccessfulResponse) response).getResponseValue(); assertEquals(EXPECTED_RETURN_VALUE, value); }
when(rpcManager.getRpcOptionsBuilder(any(ResponseMode.class))).thenAnswer(invocation -> { Object[] args = invocation.getArguments(); return new RpcOptionsBuilder(10000, TimeUnit.MILLISECONDS, (ResponseMode) args[0], DeliverOrder.PER_SENDER);