Заголовок моего сообщения в RabbitMQ Queue имеет следующую спецификацию:
headers={
httpHeaders={transactionID=123, sessionID=451554},
contentType=text/plain,
timestamp=1539607167303
}
, поэтому у меня есть встроенный Hashmap в ключе с именем httpHeaders .Я хочу повторить это поведение с помощью пользовательского интерфейса RabbitMQ, но я не понимаю, как его установить
![enter image description here](https://i.stack.imgur.com/6Tvlh.png)
Доступны только следующие параметры списка: 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);
}