List of usage examples for io.vertx.core.eventbus DeliveryOptions setHeaders
@GenIgnore
public DeliveryOptions setHeaders(MultiMap headers)
From source file:net.kuujo.vertigo.instance.impl.ControlledOutputConnection.java
License:Apache License
/** * Sends a message./*from w ww . j av a2s . c om*/ */ protected OutputConnection<T> doSend(Object message, MultiMap headers, Handler<AsyncResult<Void>> ackHandler) { if (!paused) { // Generate a unique ID and monotonically increasing index for the message. String id = UUID.randomUUID().toString(); long index = currentMessage++; /* Commented out tracking of ackHandlers. Presumably these need to be kept around so new handlers can be created if messages are resent. // if (ackHandler != null) { // ackHandlers.put(index, ackHandler); // } */ // Set up the message headers. DeliveryOptions options = new DeliveryOptions(); if (headers == null) { headers = new CaseInsensitiveHeaders(); } headers.add(ACTION_HEADER, MESSAGE_ACTION).add(ID_HEADER, id).add(INDEX_HEADER, String.valueOf(index)) .add(PORT_HEADER, context.target().port()).add(SOURCE_HEADER, context.target().address()) // TODO: header is called source, but takes the address... .add(ID_HEADER, id).add(INDEX_HEADER, String.valueOf(index)); options.setHeaders(headers); if (context.sendTimeout() > 0) { options.setSendTimeout(context.sendTimeout()); } if (log.isDebugEnabled()) { log.debug("{} - Send: Message[name={}, message={}]", this, id, message); } if (ackHandler != null) { eventBus.send(context.target().address(), message, options, r -> { if (r.succeeded()) { ackHandler.handle(Future.<Void>succeededFuture()); } else { ackHandler.handle(Future.<Void>failedFuture(r.cause())); } }); } else { eventBus.send(context.target().address(), message, options); } checkFull(); } return this; }
From source file:net.kuujo.vertigo.reference.impl.InputPortReferenceImpl.java
License:Apache License
private DeliveryOptions getDeliveryOptions(MultiMap headers) { DeliveryOptions deliveryOptions = new DeliveryOptions(); if (headers != null) { deliveryOptions.setHeaders(headers); }/* ww w .ja va 2s .c o m*/ if (timeout > 0) { deliveryOptions.setSendTimeout(timeout); } deliveryOptions.addHeader("port", name); return deliveryOptions; }