data types of headers我正在尝试使用REST终结点直接向Exchange发送消息:
/api/exchanges/vhost/name/publish
我正在使用的示例有效负载是:
{
"properties": {
"timestamp": 1536959503,
"message_id": "100",
"correlation_id": " ",
"priority": 0,
"delivery_mode": 2,
"headers": {
"counter": 0,
"content-type": "application/xml",
"correlation-id": " ",
"message-id": 100,
"message-type": "message1",
"status": "P"
},
"content_type": "application/xml"
},
"routing_key": "p.ee.pp.rr",
"payload": "sample",
"payload_encoding": "string"
}
在此情况下,标头中唯一的数字值为message-id
和counter
。
当我从队列中收到消息到类型为<String, Object>
的标头映射中时,数值的数据类型为Long
。
我的代码将message-id
强制转换为long
,将counter
强制转换为Integer
。在执行后者时,我得到了一个类强制转换异常。
我有兴趣了解:
谁将数据类型分配给数值为Long
?在哪个阶段被分配(在REST端点流到队列中)
从JSON读取数据时,Long
是默认类型吗?