if (resultArg.getReturnValue() instanceof ListenableFuture) { ((ListenableFuture<?>) resultArg.getReturnValue()).addCallback( r -> asyncSuccess(resultArg, request, channel, source, r), t -> asyncFailure(request, channel, t)); else if (monoPresent && MonoHandler.isMono(resultArg.getReturnValue())) { MonoHandler.subscribe(resultArg.getReturnValue(), r -> asyncSuccess(resultArg, request, channel, source, r), t -> asyncFailure(request, channel, t));
if (resultArg.getReturnValue() instanceof ListenableFuture) { ((ListenableFuture<?>) resultArg.getReturnValue()).addCallback( r -> asyncSuccess(resultArg, request, channel, source, r), t -> asyncFailure(request, channel, t)); else if (monoPresent && MonoHandler.isMono(resultArg.getReturnValue())) { MonoHandler.subscribe(resultArg.getReturnValue(), r -> asyncSuccess(resultArg, request, channel, source, r), t -> asyncFailure(request, channel, t));
protected void doHandleResult(InvocationResult resultArg, Message request, Channel channel, Object source) { if (this.logger.isDebugEnabled()) { this.logger.debug("Listener method returned result [" + resultArg + "] - generating response message for it"); } try { Message response = buildMessage(channel, resultArg.getReturnValue(), resultArg.getReturnType()); postProcessResponse(request, response); Address replyTo = getReplyToAddress(request, source, resultArg); sendResponse(channel, replyTo, response); } catch (Exception ex) { throw new ReplyFailureException("Failed to send reply with payload '" + resultArg + "'", ex); } }
protected void doHandleResult(InvocationResult resultArg, Message request, Channel channel, Object source) { if (this.logger.isDebugEnabled()) { this.logger.debug("Listener method returned result [" + resultArg + "] - generating response message for it"); } try { Message response = buildMessage(channel, resultArg.getReturnValue(), resultArg.getReturnType()); postProcessResponse(request, response); Address replyTo = getReplyToAddress(request, source, resultArg); sendResponse(channel, replyTo, response); } catch (Exception ex) { throw new ReplyFailureException("Failed to send reply with payload '" + resultArg + "'", ex); } }
try { result = invokeHandler(amqpMessage, channel, message); if (result.getReturnValue() != null) { handleResult(result, amqpMessage, channel, message);
try { result = invokeHandler(amqpMessage, channel, message); if (result.getReturnValue() != null) { handleResult(result, amqpMessage, channel, message);
replyTo = evaluateReplyTo(request, source, result.getReturnValue(), result.getSendTo()); replyTo = evaluateReplyTo(request, source, result.getReturnValue(), this.responseExpression);
replyTo = evaluateReplyTo(request, source, result.getReturnValue(), result.getSendTo()); replyTo = evaluateReplyTo(request, source, result.getReturnValue(), this.responseExpression);