updateBuilderFromAttribute(flowFile, "headers", headers -> builder.headers(validateAMQPHeaderProperty(headers))); return builder.build();
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()); }
@Override public CompletableFuture<?> send(String topic, String key, String body) { try { AMQP.BasicProperties bp = new AMQP.BasicProperties.Builder().headers(Collections.singletonMap("key", key)).build(); channel.exchangeDeclare(topic, "fanout"); channel.basicPublish(topic, key, bp, body.getBytes("UTF-8")); } catch (IOException e) { logger.error(e.getMessage(), e); throw new RuntimeException(e); } return CompletableFuture.completedFuture(null); }
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); } }
/** */ public void sendCancel(String jobId) throws Exception { openConnections(); ArrayList approvedAdapters = new ArrayList<String>(); LGPayload seedPayload = new LGPayload(jobId); LGCommand cmd = new LGCommand(LGCommand.COMMAND_TYPE_STOP, jobId, 100, 255, approvedAdapters, seedPayload); channel.basicPublish("", LGConstants.LEMONGRENADE_COORDINATORCMD , new AMQP.BasicProperties.Builder().priority(LGConstants.QUEUE_PRIORITY_COMMAND).build() , cmd.toByteArray()); }
@Test public void testToMessagePropertiesLongStringDeepInList() { Map<String, Object> headers = new HashMap<String, Object>(); headers.put("list", Arrays.asList(Arrays.asList(longString))); BasicProperties source = new BasicProperties.Builder() .headers(headers) .build(); MessageProperties messageProperties = messagePropertiesConverter.toMessageProperties(source, envelope, "UTF-8"); assertEquals("LongString deeply nested in List not converted to String", longStringString, ((List<?>) ((List<?>) messageProperties.getHeaders().get("list")).get(0)).get(0)); }
@Test public void testToMessagePropertiesLongStringInList() { Map<String, Object> headers = new HashMap<String, Object>(); headers.put("list", Arrays.asList(longString)); BasicProperties source = new BasicProperties.Builder() .headers(headers) .build(); MessageProperties messageProperties = messagePropertiesConverter.toMessageProperties(source, envelope, "UTF-8"); assertEquals("LongString nested in List not converted to String", longStringString, ((List<?>) messageProperties.getHeaders().get("list")).get(0)); }
/** * Sets the content charset encoding of this message. * * @param charset The charset encoding * @return The modified message */ public Message contentEncoding(String charset) { basicProperties = basicProperties.builder() .contentEncoding(charset) .build(); return this; }
public void send(byte[] bytes, Map<String, Object> headers) { try { Builder builder = new Builder(); channel.basicPublish(settings.getExchange(), settings.getRoutingKey(), builder.headers(headers).build(), bytes); } catch (IOException e) { String message = "Failed to publish to AMQP: " + e.getMessage(); log.error(message, e); throw new RuntimeException(message, e); } }
@SneakyThrows(IOException.class) public void sendMessage(String exchange, String routingKey, MessageWrapper message) { Channel channel = connectionService.getChannel(); channel.basicPublish(exchange, routingKey, message.getProperties().build(), message.getBody().getBytes()); }
public void send(byte[] bytes, Map<String, Object> headers) { try { Builder builder = new Builder(); channel.basicPublish("", settings.getQueueName(), builder.headers(headers).build(), bytes); } catch (IOException e) { String message = "Failed to publish to AMQP: " + e.getMessage(); log.error(message, e); throw new RuntimeException(message, e); } }
@Test public void testToMessagePropertiesLongString() { Map<String, Object> headers = new HashMap<String, Object>(); headers.put("longString", longString); BasicProperties source = new BasicProperties.Builder() .headers(headers) .build(); MessageProperties messageProperties = messagePropertiesConverter.toMessageProperties(source, envelope, "UTF-8"); assertEquals("LongString not converted to String", longStringString, messageProperties.getHeaders().get("longString")); }
willReturn(true).given(channel).isOpen(); Envelope envelope = new Envelope(123L, false, "ex", "rk"); BasicProperties props = new BasicProperties.Builder().build(); GetResponse getResponse = new GetResponse(envelope, props, "bar".getBytes(), 0); willReturn(getResponse).given(channel).basicGet("foo", false);
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(); }
private void testNackOrRequeue(boolean requeue) throws IOException, TimeoutException { Channel channel = mock(Channel.class); willReturn(true).given(channel).isOpen(); Envelope envelope = new Envelope(123L, false, "ex", "rk"); BasicProperties props = new BasicProperties.Builder().build(); GetResponse getResponse = new GetResponse(envelope, props, "bar".getBytes(), 0); willReturn(getResponse).given(channel).basicGet("foo", false); Connection connection = mock(Connection.class); willReturn(true).given(connection).isOpen(); willReturn(channel).given(connection).createChannel(); ConnectionFactory connectionFactory = mock(ConnectionFactory.class); willReturn(connection).given(connectionFactory).newConnection((ExecutorService) isNull(), anyString()); CachingConnectionFactory ccf = new CachingConnectionFactory(connectionFactory); AmqpMessageSource source = new AmqpMessageSource(ccf, "foo"); Message<?> received = source.receive(); verify(connection).createChannel(); StaticMessageHeaderAccessor.getAcknowledgmentCallback(received) .acknowledge(requeue ? Status.REQUEUE : Status.REJECT); verify(channel).basicReject(123L, requeue); verify(connection).createChannel(); ccf.destroy(); verify(channel).close(); verify(connection).close(30000); }
@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); }
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(); }
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; }