@Bean public RequestResponseMatcher requestResponseMatcher() { return new RequestResponseMatcher(); }
@Override public void process(ConsumerRecord<String, Response> record) { responseMatcher.offerResponse(record.value()); } }
requestResponseMatcher.addRequestCallback(request.getCorrelationId(), pingFuture::complete); logger.debug("Request callback added for request: {}, correlationId: {}", request.getBody(), request.getCorrelationId()); continue; } finally { requestResponseMatcher.removeRequestCallback(request.getCorrelationId());
@Override public void call(Request request, Consumer<Response> callback) { requestResponseMatcher.addRequestCallback(request.getCorrelationId(), callback); logger.debug("Request callback added for request: {}, correlationId: {}", request.getBody(), request.getCorrelationId()); push(request); }
@Override public void push(Request request) { if (request.getBody() == null) { throw new NullPointerException("Request body must not be null."); } request.setReplyTo(replyToTopic); requestProducer.send(new ProducerRecord<>(requestTopic, request.getPartitionKey(), request), (recordMetadata, e) -> { if (e != null) { logger.error("Send request failed", e); requestResponseMatcher.removeRequestCallback(request.getCorrelationId()); } logger.debug("Request {} sent successfully", request.getCorrelationId()); //TODO [rafa] in case sending fails - we need to notify the caller using the callback passed. }); }
if (resAction.equals(Action.NOTIFICATION_SUBSCRIBE_RESPONSE)) { NotificationSubscribeResponse r = response.getBody().cast(NotificationSubscribeResponse.class); requestResponseMatcher.addSubscription(subscriptionId, response.getCorrelationId()); future.complete(r.getNotifications()); } else if (resAction.equals(Action.NOTIFICATION_EVENT)) {
requestResponseMatcher.addRequestCallback(request.getCorrelationId(), pingFuture::complete); logger.debug("Request callback added for request: {}, correlationId: {}", request.getBody(), request.getCorrelationId()); continue; } finally { requestResponseMatcher.removeRequestCallback(request.getCorrelationId());
@Override public void call(Request request, Consumer<Response> callback) { requestResponseMatcher.addRequestCallback(request.getCorrelationId(), callback); logger.debug("Request callback added for request: {}, correlationId: {}", request.getBody(), request.getCorrelationId()); push(request); }
if (resAction.equals(Action.COMMAND_SUBSCRIBE_RESPONSE)) { future.complete(response.getBody().cast(CommandSubscribeResponse.class).getCommands()); requestResponseMatcher.addSubscription(subscriptionId, response.getCorrelationId()); } else if (!returnUpdated && resAction.equals(Action.COMMAND_EVENT)) { callback.accept(response.getBody().cast(CommandEvent.class).getCommand(), subscriptionId);
requestResponseMatcher.addRequestCallback(request.getCorrelationId(), pingFuture::complete); logger.debug("Request callback added for request: {}, correlationId: {}", request.getBody(), request.getCorrelationId()); continue; } finally { requestResponseMatcher.removeRequestCallback(request.getCorrelationId());
@Bean public RequestResponseMatcher requestResponseMatcher() { return new RequestResponseMatcher(); }
@Override public void call(Request request, Consumer<Response> callback) { requestResponseMatcher.addRequestCallback(request.getCorrelationId(), callback); logger.debug("Request callback added for request: {}, correlationId: {}", request.getBody(), request.getCorrelationId()); push(request); }
@Override public void handle(String message, ProxyClient client) { logger.debug("Received message from proxy client: " + message); final Response response = gson.fromJson(message, Response.class); requestResponseMatcher.offerResponse(response); }
requestResponseMatcher.addRequestCallback(request.getCorrelationId(), pingFuture::complete); logger.debug("Request callback added for request: {}, correlationId: {}", request.getBody(), request.getCorrelationId()); continue; } finally { requestResponseMatcher.removeRequestCallback(request.getCorrelationId());
@Bean public RequestResponseMatcher requestResponseMatcher() { return new RequestResponseMatcher(); }
@Override public void call(Request request, Consumer<Response> callback) { requestResponseMatcher.addRequestCallback(request.getCorrelationId(), callback); logger.debug("Request callback added for request: {}, correlationId: {}", request.getBody(), request.getCorrelationId()); ringBuffer.publishEvent((serverEvent, sequence, response) -> serverEvent.set(response), request); }
@Override public void handle(String message, ProxyClient client) { logger.debug("Received message from proxy client: " + message); final Response response = gson.fromJson(message, Response.class); requestResponseMatcher.offerResponse(response); } }
@Bean public RequestResponseMatcher requestResponseMatcher() { return new RequestResponseMatcher(); }
@Bean public RequestResponseMatcher requestResponseMatcher() { return new RequestResponseMatcher(); }
@Bean public RequestResponseMatcher requestResponseMatcher() { return new RequestResponseMatcher(); }