updateBuilderFromAttribute(flowFile, "deliveryMode", mode -> builder.deliveryMode(Integer.parseInt(mode))); updateBuilderFromAttribute(flowFile, "priority", pri -> builder.priority(Integer.parseInt(pri))); updateBuilderFromAttribute(flowFile, "correlationId", builder::correlationId);
protected void eventProperty(Event event) { AMQP.BasicProperties.Builder builder = new AMQP.BasicProperties.Builder(); event.setAMQPProperties(builder.deliveryMode(1).expiration(String.valueOf(TimeUnit.SECONDS.toMillis(CloudBusGlobalProperty.MESSAGE_TTL))).build()); }
protected void basicProperty(Message msg) { AMQP.BasicProperties.Builder builder = new AMQP.BasicProperties.Builder(); msg.setAMQPProperties(builder.deliveryMode(1).expiration(String.valueOf(TimeUnit.SECONDS.toMillis(CloudBusGlobalProperty.MESSAGE_TTL))).build()); }
/** * <p> * Flags the message to be a persistent message. A persistent message survives a total broker failure as it is * persisted to disc if not already delivered to and acknowledged by all consumers. * </p> * * <p> * Important: This flag only has affect if the queues on the broker are flagged as durable. * </p> * * @return The modified message */ public Message persistent() { basicProperties = basicProperties.builder() .deliveryMode(DELIVERY_MODE_PERSISTENT) .build(); return this; }
public static AMQP.BasicProperties box(Message msg) { AMQP.BasicProperties.Builder builder = new AMQP.BasicProperties.Builder(); return builder.messageId(String.valueOf(msg.getMessageId())) .appId(msg.getAppId()) .clusterId(msg.getClusterId()) .contentEncoding(msg.getContentEncoding()) .contentType(msg.getContentType()) .correlationId(msg.getCorrelationId()) .deliveryMode((int) msg.getDeliveryMode()) .expiration(msg.getExpiration()) .headers(msg.getHeaders()) .priority((int) msg.getPriority()) .replyTo(msg.getReplyTo()) .timestamp(new Date(msg.getTimestamp())) .type(msg.getType()) .userId(msg.getUserId()) .build(); }
public static AMQP.BasicProperties fromJson( JsonObject json ) { if ( json == null ) { return new AMQP.BasicProperties(); } return new AMQP.BasicProperties.Builder() .contentType(json.getString("contentType")) .contentEncoding(json.getString("contentEncoding")) .headers(asMap(json.getJsonObject("headers"))) .deliveryMode(json.getInteger("deliveryMode")) .priority(json.getInteger("priority")) .correlationId(json.getString("correlationId")) .replyTo(json.getString("replyTo")) .expiration(json.getString("expiration")) .messageId(json.getString("messageId")) .timestamp(parseDate(json.getString("timestamp"))) .type(json.getString("type")) .userId(json.getString("userId")) .appId(json.getString("appId")) .clusterId(json.getString("clusterId")).build(); }
protected void sendJMSMessage(RMQDestination destination, RMQMessage msg, int deliveryMode, int priority, long timeToLive) throws JMSException { this.session.declareDestinationIfNecessary(destination); try { AMQP.BasicProperties.Builder bob = new AMQP.BasicProperties.Builder(); bob.contentType("application/octet-stream"); bob.deliveryMode(RMQMessage.rmqDeliveryMode(deliveryMode)); bob.priority(priority); bob.expiration(rmqExpiration(timeToLive)); bob.headers(msg.toHeaders()); maybeSetReplyToPropertyToDirectReplyTo(bob, msg); byte[] data = msg.toByteArray(); this.session.getChannel().basicPublish(destination.getAmqpExchangeName(), destination.getAmqpRoutingKey(), bob.build(), data); } catch (IOException x) { throw new RMQJMSException(x); } }
@Override public CompletableFuture<Void> sendAsync(Optional<String> key, byte[] payload) { BasicProperties.Builder builder = defaultProperties.builder().timestamp(new Date()); if (messagePersistence) { builder.deliveryMode(2); } BasicProperties props = builder.build(); CompletableFuture<Void> future = new CompletableFuture<>(); long msgId = channel.getNextPublishSeqNo(); ackSet.add(msgId); futureConcurrentHashMap.putIfAbsent(msgId, future); try { channel.basicPublish(exchange, key.orElse(""), props, payload); } catch (Exception e) { future.completeExceptionally(e); } return future; }
StringPublisherCallback() { this.props = new BasicProperties.Builder() .contentType("text/plain") .deliveryMode(1) .priority(0) .build(); }
void sendRaw(String exchange, String routingKey, byte[] data) throws IOException { AMQP.BasicProperties properties = new AMQP.BasicProperties.Builder() .contentType("application/json") .deliveryMode(PERSISTENT) .build(); try { channel.basicPublish(exchange, routingKey, properties, data); } catch (IOException e) { waitForConnection("Could not publish message to " + routingKey); channel.basicPublish(exchange, routingKey, properties, data); } }
@Override public void publish(K key, T event, long ttl) { this.publish( key, new BasicProperties.Builder().contentType("").deliveryMode(2).expiration(Long.toString(ttl)).build(), this.transcoder.encodeAsBytes(event) ); }
@Inject JsonPublisherCallback(@JsonMapper final ObjectMapper mapper) { this.mapper = mapper; this.props = new BasicProperties.Builder() .contentType("application/json") .deliveryMode(1) .priority(0) .build(); }
void send(String exchange, String routingKey, Message message) throws IOException { byte[] data = serialize(message); AMQP.BasicProperties properties = new AMQP.BasicProperties.Builder() .contentType("application/json") .deliveryMode(PERSISTENT) .build(); try { channel.basicPublish(exchange, routingKey, properties, data); } catch (IOException e) { waitForConnection("Could not publish message to " + routingKey); channel.basicPublish(exchange, routingKey, properties, data); } }
@Override public void publish(T event, long ttl) { if (this.defaultKey == null) throw new QueueException("No default key is given, cannot publish, did you mean to use: publish(K key, T event)?"); this.publish( this.defaultKey, new BasicProperties.Builder().contentType("").deliveryMode(2).expiration(Long.toString(ttl)).build(), this.transcoder.encodeAsBytes(event) ); } }
@Override public void publish(T event) { if (this.defaultKey == null) throw new QueueException("No default key is given, cannot publish, did you mean to use: publish(K key, T event)?"); this.publish( this.defaultKey, new BasicProperties.Builder().contentType("").deliveryMode(2).build(), this.transcoder.encodeAsBytes(event) ); }
@Override public void publish(K key, T event) { this.publish( key, new BasicProperties.Builder().contentType("").deliveryMode(2).build(), this.transcoder.encodeAsBytes(event) ); }
private void replyError() { if (dismissed.get()) { return; } ErrorCode err = err(SysErrors.MANAGEMENT_NODE_UNAVAILABLE_ERROR, "management node[uuid:%s] is unavailable", mgmtNodeId); logger.warn(String.format("management node[uuid:%s] becomes unavailable, reply %s to message[%s]. Message metadata dump: %s", mgmtNodeId, err, rmeta.messageName, JSONObjectUtil.toJsonString(rmeta))); if (rmeta.needApiEvent) { APIEvent evt = new APIEvent(rmeta.msgId); eventProperty(evt); evt.setError(err); wire.publish(evt); } else { MessageReply reply = new MessageReply(); reply.setError(err); AMQP.BasicProperties.Builder builder = new AMQP.BasicProperties.Builder(); reply.setAMQPProperties(builder.deliveryMode(1).build()); reply.getHeaders().put(CloudBus.HEADER_IS_MESSAGE_REPLY, Boolean.TRUE.toString()); reply.putHeaderEntry(CloudBus.HEADER_CORRELATION_ID, rmeta.msgId); reply.setServiceId(rmeta.replyTo); wire.send(reply, false); } dismiss(); }
@Override public void reply(Message request, MessageReply reply) { if (Boolean.valueOf(request.getHeaderEntry(CloudBus.HEADER_NO_NEED_REPLY_MSG))) { if (logger.isTraceEnabled()) { logger.trace(String.format("%s in message%s is set, drop reply%s", CloudBus.HEADER_NO_NEED_REPLY_MSG, wire.dumpMessage(request), wire.dumpMessage(reply))); } return; } AMQP.BasicProperties.Builder builder = new AMQP.BasicProperties.Builder(); reply.setAMQPProperties(builder.deliveryMode(1).build()); reply.getHeaders().put(CloudBus.HEADER_IS_MESSAGE_REPLY, Boolean.TRUE.toString()); reply.putHeaderEntry(CloudBus.HEADER_CORRELATION_ID, request.getId()); reply.setServiceId(request.getHeaderEntry(CloudBus.HEADER_REPLY_TO)); buildResponseMessageMetaData(reply); if (request instanceof NeedReplyMessage) { callReplyPreSendingExtensions(reply, (NeedReplyMessage) request); } wire.send(reply, false); }
private MessageReply createTimeoutReply(NeedReplyMessage m) { MessageReply r = new MessageReply(); r.putHeaderEntry(CloudBus.HEADER_CORRELATION_ID, m.getId()); AMQP.BasicProperties.Builder builder = new AMQP.BasicProperties.Builder(); r.setAMQPProperties(builder.deliveryMode(1).build()); r.setError(touterr(m.toErrorString())); return r; }
public BasicProperties toBasicProperties() { BasicProperties.Builder builder = new BasicProperties.Builder(); return builder.appId(appId).clusterId(clusterId).contentEncoding(contentEncoding).contentType(contentType).correlationId(correlationId) .deliveryMode(deliveryMode).expiration(expiration).headers(headers).messageId(messageId).priority(priority).replyTo(replyTo) .timestamp(timestamp).type(type).userId(userId).build(); }