在 JMS 传送选项和消息可靠性与 IBM MQ 持久性值之间进行映射
在 IBM MQ 格式与服务集成格式之间转换消息时,服务集成会处理与消息传送方式、可靠性和持久性有关的消息头字段及属性。
IBM MQ 格式消息中的服务质量指示
IBM MQ 格式消息包含下列服务质量指示:
- MQMD 持久性
所有 IBM MQ 格式消息中都会提供此属性。此属性指定 IBM MQ 为消息提供的服务质量,如下所示:
MQMD 持久性 服务质量 MQPER_PERSISTENT 持久服务质量。IBM MQ 确保仅传送一次消息。 MQPER_NOT_PERSISTENT 非持久服务质量。IBM MQ 可在异常情况下废弃消息。 MQPER_PERSISTENCE_AS_Q_DEF IBM MQ 将服务质量(持久或非持久)设置为对目标队列配置的值。 有关 IBM MQ 持久和非持久服务质量的更多信息,请参阅 IBM MQ 文档。
- MQRFH2 jms.Dlv (JMSDeliveryMode)
包括 MQRFH2 头的 IBM MQ 格式 JMS 消息中存在此属性。该属性包含应用程序对消息发出 send(发送)命令时设置的 JMSDeliveryMode。
服务质量指示服务集成何时将消息转换为 IBM MQ 格式
消息可靠性级别 - JMS 传送方式及服务集成服务质量描述服务集成如何设置消息可靠性。简单来说,JMS 应用程序使用 JMS 传送方式(持久或非持久)发送消息,然后服务集成使用 JMS 连接工厂设置将 JMS 传送方式映射至服务集成消息可靠性设置,最后总线目标(包括外部目标和别名目标)上的其他设置可覆盖此消息可靠性。服务集成将消息转换为 IBM MQ 格式时,它按如下所示设置 MQMD 持久性指示符:
服务集成消息可靠性 | MQMD 持久性 |
---|---|
可靠持久 | 持久 |
有保证的持久 | 持久 |
可靠非持久 | 非持久 |
快速非持久 | 非持久 |
最大努力非持久 | 非持久 |
发送应用程序可通过在消息中设置 JMS_IBM_MQMD_Persistence 消息属性来覆盖此项。
服务质量指示服务集成何时转换 IBM MQ 格式的消息
服务集成从 IBM MQ 接收消息时,它将消息的 MQMD 持久性值与您在 IBM MQ 链路接收方或 IBM MQ 服务器队列点中配置的相应服务集成可靠性值配合使用,以确定服务集成消息的可靠性。