rabbitmq - RabbitMQ 基于浏览器的 UI 无法在 Headers 字段中嵌入 HashMap
问题描述
我在 RabbitMQ Queue 中的消息标头具有以下规范:
headers={
httpHeaders={transactionID=123, sessionID=451554},
contentType=text/plain,
timestamp=1539607167303
}
所以我在名为 httpHeaders 的键中有一个嵌入的Hashmap。我想使用 RabbitMQ UI 复制此行为,但我不明白如何设置它
选择列表选项只有:字符串、布尔值、数字和列表
这是我以编程方式复制消息头的测试:
@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);
}
解决方案
推荐阅读
- regex - Convert regex pattern to LL1 parser
- swift - Swift Vapor 聊天室
- python - 了解 SQLAlchemy 中的 session.merge()
- python - 为大量数据制作 one-hot 向量
- java - 替换已弃用的 Sun 软件包将 Tiff 转换为 Jpeg
- authentication - nuxt auth,用户在刷新后注销
- vue.js - 在 vue 表单生成器中,我具有带有六个输入字段的图像上传功能。但我正在尝试使用单个输入字段进行多次上传
- postgresql - SQL - 对同一张表上的两个快照进行计数比较
- c - 为什么 char 类型指针数组 wsklan[0] 和 wsklan[0][0] 中的地址不同?
- javascript - 避免被另一个应用程序捕获事件