MQ标头 - 标识符上下文 - ApplIdentityData

时间:2017-12-07 11:12:05

标签: apache-camel ibm-mq

我们想从MQ Header上的ApplIdentityData中提取信息。但在消费者方面,我们没有看到ApplIdentityData的相应JMS头。我对日志进行了跟踪,但没有找到任何与ApplIdentityData相关的信息。

我正在使用Apache Camel来读取MQ并处理队列消息。在驼峰跟踪日志中,我找不到ApplIdentityData的任何内容。你能帮我吗?

下面是MQ消息头和Camel文件:

    StrucId  : 'MD  '  Version : 2
    Report   : 0  MsgType : 8
    Expiry   : -1  Feedback : 0
    Encoding : 273  CodedCharSetId : 819
    Format : 'MQSTR   '
    Priority : 0  Persistence : 1
    MsgId : X'414D51204445544C4437513120202020594010C12E08AD2B'
    CorrelId : X'000000000000000000000000000000000000000000000000'
    BackoutCount : 0
    ReplyToQ       : '                                                '
    ReplyToQMgr    : 'etlQ07                                        '
    ** Identity Context
    UserIdentifier : '            '
    AccountingToken : 
    X'0000000000000000000000000000000000000000000000000000000000000000'
    ApplIdentityData : 'TEST_HEADER_BADRI_DEC5'
    ** Origin Context
    PutApplType    : '6'
                '
    PutDate  : '20171205'    PutTime  : '08285663'
    ApplOriginData : '    '

    GroupId : X'414D51204445544C4437513120202020594010C12E08AD2C'
    MsgSeqNumber   : '1'
    Offset         : '0'
    MsgFlags       : '1'
    OriginalLength : '-1'

Camel文件:

            <!-- Recs Prem Cash MQ Configuration START -->
        <camel:route id="rp-cash-mq-route">
                                <camel:setHeader headerName="CamelCharsetName"><camel:constant>UTF-8</camel:constant></camel:setHeader>
                            <camel:setHeader headerName="endpoint.error.folder"><camel:constant>file:///usr/local/clo/data/tlm/fuse/archive/failed</camel:constant></camel:setHeader>
                <camel:setHeader headerName="route.accessAreaId"><camel:simple resultType="Long">1</camel:simple></camel:setHeader>
                <camel:setHeader headerName="mi-endpoint"><camel:constant>st-csv-in</camel:constant></camel:setHeader>
                                <camel:setHeader headerName="CamelFileName"><camel:simple>${header.JMS_IBM_MQMD_ApplIdentityData}</camel:simple></camel:setHeader>
            <camel:to uri="direct:st-csv-in"/>
        </camel:route>
        <!-- Recs Prem Cash MQ Configuration END -->

1 个答案:

答案 0 :(得分:0)

查看这两个知识中心页面,它们将告诉您如何操作:

https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.dev.doc/q032330_.htm

https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.dev.doc/q032350_.htm

基本上,您必须在接收消息之前将属性“WMQ_MQMD_READ_ENABLED”设置为true来配置JMS目标。然后,您可以在收到的消息上查询属性“JMS_IBM_MQMD_ApplIdentityData”。