Пользовательский интерфейс RabbitMQ на основе браузера не может вставить HashMap в поле Headers - PullRequest
0 голосов
/ 15 октября 2018

Заголовок моего сообщения в RabbitMQ Queue имеет следующую спецификацию:

headers={
          httpHeaders={transactionID=123, sessionID=451554}, 
          contentType=text/plain,
          timestamp=1539607167303
          }

, поэтому у меня есть встроенный Hashmap в ключе с именем httpHeaders .Я хочу повторить это поведение с помощью пользовательского интерфейса RabbitMQ, но я не понимаю, как его установить

enter image description here

Доступны только следующие параметры списка: String, Boolean, Номер и список

Это мой тест, который программно копирует заголовок сообщения:

@Test
public void getTransactionId() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
    String payload = "payload";
    Map messageHeader = new HashMap();
    Map httpHeader = new HashMap();
    httpHeader.put(HttpHeaderKeys.TRANSACTION_ID_KEY, "123");
    messageHeader.put(HTTP_HEADER_KEY, httpHeader);
    MessageHeaders messageHeaders = new MessageHeaders(messageHeader);
    GenericMessage message = new GenericMessage(payload, messageHeaders);
    Method method = MDCUtils.class.getDeclaredMethod("getTransactionId", Message.class);
    method.setAccessible(true);
    Object result = method.invoke(null, message);
    assertEquals("123", result);
}

1 Ответ

0 голосов
/ 15 октября 2018

Вы можете добавить заголовки следующим образом:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...