You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MQ消息中RFH头是什么?JMS写入时添加的RFH属性有何作用?

详解MQ的RFH头及其JMS相关属性意义

嘿,刚好对这块比较熟,我来给你拆解清楚这些MQ里的RFH头相关问题,当初我刚接触的时候也绕了好一阵子呢~

什么是RFH头?

RFH是Rules and Formatting Header(规则与格式头)的缩写,是IBM MQ体系里专门用来携带消息元数据的特殊消息头。它不属于业务数据范畴,主要负责在MQ服务端、不同客户端之间传递控制类信息,是MQ实现跨协议、跨平台消息交互的关键组件之一。

RFH头的核心用途

  • 传递消息元数据:比如消息的编码格式、处理规则、属性映射关系等,让接收方明确该如何解析和处理消息体
  • 协议/API适配:当JMS应用和原生MQ应用(比如用MQI接口开发的程序)通信时,RFH会把JMS的标准属性转换成MQ能识别的格式,反之亦然,实现不同技术栈之间的消息互通
  • 支持扩展控制:除了标准字段,还可以自定义额外的属性字段,满足特定业务场景的个性化控制需求

你提到的JMS相关RFH属性详解

当你用JMS向MQ队列写消息时,这些属性会被自动封装到RFH头里,每个属性的意义如下:

JmsDeliveryMode

这是消息的投递可靠性模式,分为两种:

  • 持久化(PERSISTENT):MQ会把消息写入磁盘存储,就算MQ服务重启,消息也不会丢失,适合订单、交易这类核心业务数据
  • 非持久化(NON_PERSISTENT):消息仅存储在内存中,MQ重启后会丢失,适合日志、临时通知这类对可靠性要求不高的场景

JMS Destination

标识消息的目标地址,也就是你发送消息的队列(Queue)或主题(Topic)的名称。接收方可以通过这个属性确认消息的来源目标,在消息转发、路由场景中特别有用。

JMS Timestamp

这是JMS客户端发送消息时生成的时间戳(精确到毫秒),主要用于消息的时序校验、延迟处理触发,或者作为日志审计的时间依据。

Mcd.msd

全称是Message Content Descriptor - Message Style Definition,用来指定消息体的格式类型,告诉接收方该用什么方式解析消息内容,常见取值包括:

  • jms_text:消息体是文本格式(比如String类型)
  • jms_bytes:消息体是字节数组格式
  • mqcd:消息体是原生MQ的消息格式
    简单来说,这个属性就是给接收方的“解析说明书”。

内容的提问来源于stack exchange,提问作者Vishal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:07:20