原创

jms_text IBM MQ JMS 消息头内容去除

1、IBM MQ JMS发送消息的时候对方有收到消息内容前面有

RFH ?eMQSTR   ? <mcd><Msd>jms_text</Msd></mcd>  ?<jms><Dst>queue://DSMPD/OPENWSINPUT?expiry=5000&amp;CCSID=1381</Dst><Tms>1155092338532</Tms><Exp>1155092343532</Exp><Dlv>2</Dlv></jms>    

其实 是IBM MQ 队列的设置原因

本地队列的话 队列的属性-扩展-属性控制选择无
远程则设置通道的 属性-扩展-属性控制选择无  
属性控制

(仅适用于在本地队列、别名队列和模型队列上)

此属性定义当指定了 MQGMO_PROPERTIES_AS_Q_DEF 选项时,如何处理使用 MQGET 命令从队列中检索的消息的属性。

要包含除消息描述符(或扩展)中包含的属性之外的所有消息属性,请选择全部全部值表示在将消息发送至远程队列管理器时,消息中会包含其自身的所有属性。除消息描述符(或扩展)中的属性外,其他属性将放置在消息数据的一个或多个 MQRFH2 头中。

要允许要求消息数据的 MQRFH2 中具有与 JMS 相关的属性的应用程序在不加修改的情况下继续工作,请选择兼容性。这是缺省值。兼容性意味着,如果消息包含具有前缀 mcd.jms.usr. 或 mqext. 的属性,那么所有消息属性将在 MQRFH2 头中传递给应用程序。否则,将废弃除消息描述符(或扩展)中包含的属性之外的所有消息属性,并且应用程序再也无法访问这些属性。

要确保始终返回消息数据中 MQRFH2 头中的属性,请选择强制 MQRFH2。将忽略执行 MQGET 调用时 MQGMO 结构的 MsgHandle 字段中提供的有效消息句柄。无法通过该消息句柄访问消息的属性。

要废弃除消息描述符(或扩展)中包含的属性之外的所有消息属性,请选择。此值使不支持消息属性的应用程序不会受消息中包含的任何属性的影响。

V6COMPAT - MQRFH2 头未由属性代码修改。如果已提供消息属性,但未包含在原始 MQRFH2 头中,那么会在消息句柄中返回这些属性,否则会丢弃这些属性。可通过提供某个 MQGMO_PROPERTIES 选项来覆盖此行为。

注:对于传输队列(即用法已设置为传输的本地队列),该队列的属性控制属性不相关,并且是控制消息属性行为的相应通道对象上的属性控制属性。
正文到此结束
Loading...