@SuppressWarnings("unchecked") @Override public Object fromMessage(javax.jms.Message message) throws JMSException, MessageConversionException { Map<String, Object> mappedHeaders = extractHeaders(message); Object convertedObject = extractPayload(message); MessageBuilder<Object> builder = (convertedObject instanceof org.springframework.messaging.Message ? MessageBuilder.fromMessage((org.springframework.messaging.Message<Object>) convertedObject) : MessageBuilder.withPayload(convertedObject)); return builder.copyHeadersIfAbsent(mappedHeaders).build(); }
@Test public void copyHeadersIfAbsent() { Message<String> message1 = MessageBuilder.withPayload("test1") .setHeader("foo", "bar").build(); Message<String> message2 = MessageBuilder.withPayload("test2") .setHeader("foo", 123) .copyHeadersIfAbsent(message1.getHeaders()) .build(); assertEquals("test2", message2.getPayload()); assertEquals(123, message2.getHeaders().get("foo")); }
private Message<?> message(Map<String, Object> headers, Object result) { return result instanceof Message ? MessageBuilder.fromMessage((Message<?>) result) .copyHeadersIfAbsent(headers).build() : MessageBuilder.withPayload(result).copyHeadersIfAbsent(headers).build(); }
private Message<Collection<Object>> poll(String channel, String key, boolean requeue) { List<Object> list = new ArrayList<>(); List<Message<?>> messages = new ArrayList<>(); Bridge<Message<?>> queue = queues.get(new Route(key, channel).getPath()); if (queue != null) { queue.receive().subscribe(message -> { messages.add(message); list.add(message.getPayload()); }); if (!requeue) { queue.reset(); } } MessageBuilder<Collection<Object>> builder = MessageBuilder.withPayload(list); if (!messages.isEmpty()) { builder.copyHeadersIfAbsent(messages.get(0).getHeaders()); } return builder.build(); }
@SuppressWarnings("unchecked") @Override public Object fromMessage(javax.jms.Message message) throws JMSException, MessageConversionException { Map<String, Object> mappedHeaders = extractHeaders(message); Object convertedObject = extractPayload(message); MessageBuilder<Object> builder = (convertedObject instanceof org.springframework.messaging.Message ? MessageBuilder.fromMessage((org.springframework.messaging.Message<Object>) convertedObject) : MessageBuilder.withPayload(convertedObject)); return builder.copyHeadersIfAbsent(mappedHeaders).build(); }
@SuppressWarnings("unchecked") @Override public Object fromMessage(javax.jms.Message message) throws JMSException, MessageConversionException { if (message == null) { return null; } Map<String, Object> mappedHeaders = extractHeaders(message); Object convertedObject = extractPayload(message); MessageBuilder<Object> builder = (convertedObject instanceof org.springframework.messaging.Message) ? MessageBuilder.fromMessage((org.springframework.messaging.Message<Object>) convertedObject) : MessageBuilder.withPayload(convertedObject); return builder.copyHeadersIfAbsent(mappedHeaders).build(); }
for (Object payload : collection) { Message<?> result = template.sendAndReceive(input, MessageBuilder .withPayload(payload).copyHeadersIfAbsent(messageHeaders) .setHeader(MessageHeaders.REPLY_CHANNEL, outputs.get(channel)) .build()); for (Object payload : collection) { template.send(input, MessageBuilder.withPayload(payload) .copyHeadersIfAbsent(messageHeaders).build()); .copyHeadersIfAbsent(outputHeaders).build(), headers);
@SuppressWarnings("unchecked") @Override public Object fromMessage(org.springframework.amqp.core.Message message) throws MessageConversionException { if (message == null) { return null; } Map<String, Object> mappedHeaders = this.headerMapper.toHeaders(message.getMessageProperties()); Object convertedObject = extractPayload(message); if (convertedObject == null) { throw new MessageConversionException("Message converter returned null"); } MessageBuilder<Object> builder = (convertedObject instanceof org.springframework.messaging.Message) ? MessageBuilder.fromMessage((org.springframework.messaging.Message<Object>) convertedObject) : // NOSONAR MessageBuilder.withPayload(convertedObject); return builder.copyHeadersIfAbsent(mappedHeaders).build(); }