@Override public void operationComplete(ChannelFuture future) { if (!future.isDone() || !future.isSuccess()) { ConnectException cause = new ConnectException("Cannot connect to " + configuration.getAddress()); if (future.cause() != null) { cause.initCause(future.cause()); } exchange.setException(cause); callback.done(false); releaseChannel(future); return; } try { processWithConnectedChannel(exchange, callback, future, body); } catch (Throwable e) { exchange.setException(e); callback.done(false); } } }
producerCallback = callback.getOriginalCallback(); } else { producerCallback = new NettyProducerCallback(channelFuture, callback.getOriginalCallback());
public boolean process(final Exchange exchange, AsyncCallback callback) { if (!isRunAllowed()) { if (exchange.getException() == null) { exchange.setException(new RejectedExecutionException()); } callback.done(true); return true; } Object body; try { body = getRequestBody(exchange); if (body == null) { noReplyLogger.log("No payload to send for exchange: " + exchange); callback.done(true); return true; } return processWithBody(exchange, body, new BodyReleaseCallback(callback, body)); } catch (Exception e) { exchange.setException(e); callback.done(true); return true; } }