我试图使用消息大小相关的统计信息
(最小消息大小、最大消息大小、平均消息大小、使用的总消息大小
DestinationStatistics.getMessages().getCount()
),发现ActiveMQ v5.10中提供的消息头大小为1028字节(发送不同大小的消息,API返回的大小多了1028字节)。我无法理解为什么尺寸是这样的。
有前缀吗?有没有办法看看 header 是由什么构成的。
谢谢
编辑:
因此,生产者基本上是使用队列上的 java 代码向代理发送 1024 字节(字符)的文本消息,该消息由监听该队列的消费者接收。我使用上述 API 记录消息大小,发现报告的消息大小是 2052 字节,而不是 1024 字节。
最佳答案
您看到的大小是总消息大小的近似值。代理不会跟踪确切的消息大小,因为消息的一部分在分派(dispatch)到更新这些统计信息的核心之前会在代理上进行解码。添加额外的字节开销值 1024,以考虑对消息进行编码并在线发送时添加的字节。无法从这些统计数据中分离出消息属性的大小与正文的大小等,这个数字只是对总编码消息大小的最佳猜测。
关于java - ActiveMq v5.10 中 JMS 生产者的消息头大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25607781/