org.springframework.messaging.Message.getHeaders()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(8.5k)|赞(0)|评价(0)|浏览(88)

本文整理了Java中org.springframework.messaging.Message.getHeaders()方法的一些代码示例,展示了Message.getHeaders()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message.getHeaders()方法的具体详情如下:
包路径:org.springframework.messaging.Message
类名称:Message
方法名:getHeaders

Message.getHeaders介绍

[英]Return message headers for the message (never null but may be empty).
[中]返回消息的消息头(从不为null,但可以为空)。

代码示例

代码示例来源:origin: spring-projects/spring-framework

@Override
  public void afterMessageHandled(
      Message<?> msg, MessageChannel ch, MessageHandler handler, @Nullable Exception ex) {
    Runnable task = (Runnable) msg.getHeaders().get(OrderedMessageSender.COMPLETION_TASK_HEADER);
    if (task != null) {
      task.run();
    }
  }
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * A constructor accepting the headers of an existing message to copy.
 * @param message a message to copy the headers from, or {@code null} if none
 */
public MessageHeaderAccessor(@Nullable Message<?> message) {
  this.headers = new MutableMessageHeaders(message != null ? message.getHeaders() : null);
}

代码示例来源:origin: spring-projects/spring-framework

@Override
@Nullable
protected String getDestination(Message<?> message) {
  return SimpMessageHeaderAccessor.getDestination(message.getHeaders());
}

代码示例来源:origin: spring-projects/spring-framework

/**
 * Encodes the given STOMP {@code message} into a {@code byte[]}.
 * @param message the message to encode
 * @return the encoded message
 */
public byte[] encode(Message<byte[]> message) {
  return encode(message.getHeaders(), message.getPayload());
}

代码示例来源:origin: spring-projects/spring-framework

@Override
protected Object convertFromInternal(Message<?> message, Class<?> targetClass, @Nullable Object conversionHint) {
  Charset charset = getContentTypeCharset(getMimeType(message.getHeaders()));
  Object payload = message.getPayload();
  return (payload instanceof String ? payload : new String((byte[]) payload, charset));
}

代码示例来源:origin: spring-projects/spring-framework

@Override
  public void afterSendCompletion(
      Message<?> message, MessageChannel channel, boolean sent, @Nullable Exception ex) {
    if (!sent) {
      SimpMessageType messageType = SimpMessageHeaderAccessor.getMessageType(message.getHeaders());
      if (SimpMessageType.DISCONNECT.equals(messageType)) {
        logger.debug("Detected unsent DISCONNECT message. Processing anyway.");
        handleMessage(message);
      }
    }
  }
}

代码示例来源:origin: spring-projects/spring-framework

@Override
protected void addSubscriptionInternal(
    String sessionId, String subsId, String destination, Message<?> message) {
  Expression expression = getSelectorExpression(message.getHeaders());
  this.subscriptionRegistry.addSubscription(sessionId, subsId, destination, expression);
  this.destinationCache.updateAfterNewSubscription(destination, sessionId, subsId);
}

代码示例来源:origin: spring-projects/spring-framework

@Override
public void handleMessage(Message<?> message) throws MessagingException {
  if (SimpMessageType.HEARTBEAT == SimpMessageHeaderAccessor.getMessageType(message.getHeaders())) {
    return;
  }
  this.queue.add(message);
}

代码示例来源:origin: spring-projects/spring-framework

@Override
  public void handleMessage(Message<?> message) throws MessagingException {
    MessageChannel replyChannel = (MessageChannel) message.getHeaders().getReplyChannel();
    replyChannel.send(new GenericMessage<>("response"));
  }
});

代码示例来源:origin: spring-projects/spring-framework

@Test
public void handleSubscribe() {
  given(this.brokerChannel.send(Mockito.any(Message.class))).willReturn(true);
  this.handler.handleMessage(createWith(SimpMessageType.SUBSCRIBE, "joe", SESSION_ID, "/user/queue/foo"));
  ArgumentCaptor<Message> captor = ArgumentCaptor.forClass(Message.class);
  Mockito.verify(this.brokerChannel).send(captor.capture());
  Message message = captor.getValue();
  assertEquals("/queue/foo-user123", SimpMessageHeaderAccessor.getDestination(message.getHeaders()));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void toMessageUtf16() {
  MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
  MimeType contentType = new MimeType("application", "json", StandardCharsets.UTF_16BE);
  Map<String, Object> map = new HashMap<>();
  map.put(MessageHeaders.CONTENT_TYPE, contentType);
  MessageHeaders headers = new MessageHeaders(map);
  String payload = "H\u00e9llo W\u00f6rld";
  Message<?> message = converter.toMessage(payload, headers);
  assertEquals("\"" + payload + "\"", new String((byte[]) message.getPayload(), StandardCharsets.UTF_16BE));
  assertEquals(contentType, message.getHeaders().get(MessageHeaders.CONTENT_TYPE));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void toMessageWithPayloadAndHeaders() {
  MessageHeaders headers = new MessageHeaders(Collections.<String, Object>singletonMap("foo", "bar"));
  Message<?> message = this.converter.toMessage("payload", headers);
  assertEquals("payload", message.getPayload());
  assertEquals("bar", message.getHeaders().get("foo"));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void testHeaderValues() {
  Message<String> message = MessageBuilder.withPayload("test")
      .setHeader("foo", "bar")
      .setHeader("count", 123)
      .build();
  assertEquals("bar", message.getHeaders().get("foo", String.class));
  assertEquals(new Integer(123), message.getHeaders().get("count", Integer.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void createIdRegenerated() {
  Message<String> message1 = MessageBuilder.withPayload("test")
      .setHeader("foo", "bar").build();
  Message<String> message2 = MessageBuilder.fromMessage(message1).setHeader("another", 1).build();
  assertEquals("bar", message2.getHeaders().get("foo"));
  assertNotSame(message1.getHeaders().getId(), message2.getHeaders().getId());
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void toMessageContentTypeHeader() {
  Message<?> message = this.converter.toMessage("ABC", null);
  assertEquals(MimeTypeUtils.TEXT_PLAIN, message.getHeaders().get(MessageHeaders.CONTENT_TYPE));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
  public void toMessageWithPayloadAndMutableHeaders() {
    MessageHeaderAccessor accessor = new MessageHeaderAccessor();
    accessor.setHeader("foo", "bar");
    accessor.setLeaveMutable(true);
    MessageHeaders headers = accessor.getMessageHeaders();

    Message<?> message = this.converter.toMessage("payload", headers);

    assertEquals("payload", message.getPayload());
    assertSame(headers, message.getHeaders());
    assertEquals("bar", message.getHeaders().get("foo"));
  }
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void jmsCorrelationIdIgnoredIfIncorrectType() throws JMSException {
  Message<String> message = initBuilder()
      .setHeader(JmsHeaders.CORRELATION_ID, new Date()).build();
  javax.jms.Message jmsMessage = new StubTextMessage();
  mapper.fromHeaders(message.getHeaders(), jmsMessage);
  assertNull(jmsMessage.getJMSCorrelationID());
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void createFromMessage() {
  Message<String> message1 = MessageBuilder.withPayload("test")
      .setHeader("foo", "bar").build();
  Message<String> message2 = MessageBuilder.fromMessage(message1).build();
  assertEquals("test", message2.getPayload());
  assertEquals("bar", message2.getHeaders().get("foo"));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void convertAndSendPayloadWithPostProcessorToDestination() {
  this.template.convertAndSend("somewhere", "payload", this.postProcessor);
  assertEquals("somewhere", this.template.destination);
  assertNotNull(this.template.message);
  assertEquals("expected 'id' and 'timestamp' headers only", 2, this.template.message.getHeaders().size());
  assertEquals("payload", this.template.message.getPayload());
  assertNotNull(this.postProcessor.getMessage());
  assertSame(this.template.message, this.postProcessor.getMessage());
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void convertAndSendPayloadWithPostProcessor() {
  this.template.setDefaultDestination("home");
  this.template.convertAndSend((Object) "payload", this.postProcessor);
  assertEquals("home", this.template.destination);
  assertNotNull(this.template.message);
  assertEquals("expected 'id' and 'timestamp' headers only", 2, this.template.message.getHeaders().size());
  assertEquals("payload", this.template.message.getPayload());
  assertNotNull(this.postProcessor.getMessage());
  assertSame(this.template.message, this.postProcessor.getMessage());
}

相关文章

微信公众号

最新文章

更多