Code Monkey home page Code Monkey logo

tnt4j-streams's People

Contributors

amavashev avatar dependabot[bot] avatar evaldasguogis avatar gmlewis avatar igorkry avatar jbnas avatar kausandr avatar mjok avatar rnikula avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tnt4j-streams's Issues

tnt4j stream converts Correl_ID field with "x0"

example of MQ Activity Trace-
MonitoringType: MQI Activity Trace
Correl_id:
00000000: 414D 5143 4147 4E54 3120 2020 2020 2020 'AMQCAGNT1 '
00000010: 865A A758 2027 A116 '†Z§X '¡. '

stream conversion example -
MQCFBS (com.ibm.mq.headers.internal.store.ByteStore [encoding: 0x00000001, ccsid: 1208, size: 40] @542337171)
MQLONG Type: 9 (0x00000009)
MQLONG StrucLength: 40 (0x00000028)
MQLONG Parameter: 7011 (MQBACF_CORREL_ID)
MQLONG StringLength: 24 (0x00000018)
MQBYTE[] String: 0x414d514341474e543120202020202020dd989b58204f8037

activity trace streams crash

this is the only trace i am able to share. it seems that it goes into loop
in WmqTraceStream line code 174.
i can not reproduce it at will, but it seems to it relates to activity trace intercepts from the IIB
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)
at com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream.getNextItem(WmqTraceStream.java:174)

Minor: Message "RUNTIME" in tnt4j-streams.log has UTC vs local timestamp as in other trace msgs

For consistency, use local timestamp; see below at the arrow "<==="
Extract from tnt4j-streams.log:

2017-09-07 12:17:03,489 TRACE [9:WmqTraceStream:WmqActivityTraceStreamQM_A!WmqTraceParser] - Locator 'MQGACF_ACTIVITY_TRACE.MQIACF_INVALID_DEST_COUNT' resolved value: null | TRACE | 

2017-09-07 16:17:03.489000 UTC | RUNTIME=9068@Howard2-PC#SERVER=Howard2-PC#NETADDR=11.0.0.24#DATACENTER=UNKNOWN#GEOADDR=0,0         <====

2017-09-07 12:17:03,489 TRACE [9:WmqTraceStream:WmqActivityTraceStreamQM_A!ActivityInfo] - Applying field MQTrace.InvalidDestCount from: null | TRACE | 2017-09-07 16:17:03.489000 UTC | RUNTIME=9068@Howard2-PC#SERVER=Howard2-PC#NETADDR=11.0.0.24#DATACENTER=UNKNOWN#GEOADDR=0,0

2017-09-07 12:17:03,489 TRACE [9:WmqTraceStream:WmqActivityTraceStreamQM_A!ActivityInfo] - Field MQTrace.InvalidDestCount resolves to null value. Will not apply field to activity... | TRACE | 

need to support concatenating fields that use transformation.

An example below
need to support concatenating fields that use transformation.

    <field name="MFT_SRC_FILE_NAME" locator="/transaction/transferSet/item/source/file" locator-type="Label">
        <field-transform name="fileName" lang="xpath">
            ts:getFileName($fieldValue)
        </field-transform>
    </field>
    <field name="MFT_DST_FILE_NAME" locator="/transaction/transferSet/item/destination/file" locator-type="Label">
        <field-transform name="fileName" lang="xpath">
            ts:getFileName($fieldValue)
        </field-transform>
    </field>

concatenate two results as this field

Support multiple locators in tnt4j stream

2016-12-01 08:52:10,410 DEBUG [10:WmqStream:WmqStream!MessageActivityXmlParser] - Parsing: started192.168.188.1useruserAGNT1AAGNT1Auseruser192.168.188.1414d512041474e543
120202020202020d9433358207b6426Monitor for SUNGUARD files4Monitor for SUNGUARD files | DEBUG | 2016-12-01 13:52:10.410000
UTC | RUNTIME=83488@IRGUN-PC#SERVER=IRGUN-PC#NETADDR=11.0.0.236#DATACENTER=UNKNOWN#GEOADDR=0,0
2016-12-01 08:52:10,703 ERROR [10:WmqStream:WmqStream!WmqStream] - Failed to record activity at position 0: Failed to process activity data at position 0 | ERROR | 2016-12-01 13:52:10.702000 UTC | RUNTIME=83488@IRGUN-PC#SERVER=IRGUN-PC#NETADDR=11.0.0.236#DATACENTER=UNKNOWN#GEOADDR=0,0
java.text.ParseException: Failed to process activity data at position 0
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.makeActivityInfo(TNTParseableInputStream.java:225)
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.processActivityItem(TNTParseableInputStream.java:244)
at com.jkoolcloud.tnt4j.streams.inputs.TNTInputStream.run(TNTInputStream.java:629)
at java.lang.Thread.run(Unknown Source)
Caused by: java.text.ParseException: Failed parsing data for field CompCode
at com.jkoolcloud.tnt4j.streams.parsers.ActivityXmlParser.parsePreparedItem(ActivityXmlParser.java:278)
at com.jkoolcloud.tnt4j.streams.parsers.ActivityXmlParser.parse(ActivityXmlParser.java:215)
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.applyParsers(TNTParseableInputStream.java:167)
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.applyParsers(TNTParseableInputStream.java:142)
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.makeActivityInfo(TNTParseableInputStream.java:222)
... 3 more
Caused by: java.text.ParseException: Field CompCode, multiple locators are not supported for enumeration-based fields
at com.jkoolcloud.tnt4j.streams.fields.ActivityInfo.applyField(ActivityInfo.java:126)
at com.jkoolcloud.tnt4j.streams.parsers.ActivityParser.applyFieldValue(ActivityParser.java:126)
at com.jkoolcloud.tnt4j.streams.parsers.MessageActivityXmlParser.applyFieldValue(MessageActivityXmlParser.java:192)
at com.jkoolcloud.tnt4j.streams.parsers.ActivityParser.applyFieldValue(ActivityParser.java:152)
at com.jkoolcloud.tnt4j.streams.parsers.ActivityXmlParser.parsePreparedItem(ActivityXmlParser.java:268)
... 7 more

tnt4j streams terminates rather than recover after connection failure while sending

2017-05-16 12:28:14,243 ERROR [9:WmqStream:WmqStream!TrackerImpl] - Failed to open event sink vm.name=55479@P1RAZ0080AS001, tid=9, event.sink=com.jkoolcloud.jesl.tnt4j.sink.JKCloudEventSink@a97d8ab(url: https://data.jkoolcloud.com:6585, jk.handle: com.jkoolcloud.jesl.net.JKClient@1a037526, piped.sink: com.jkoolcloud.tnt4j.sink.impl.FileEventSink@5177aec8), source=com.jkoolcloud.tnt4j.source.
java.io.IOException: Failed to connect to uri=https://data.jkoolcloud.com:6585, reason=Connection timed out (Connection timed out)
at com.jkoolcloud.jesl.net.http.HttpClient.connect(HttpClient.java:171)
at com.jkoolcloud.jesl.net.http.HttpClient.connect(HttpClient.java:180)
at com.jkoolcloud.jesl.net.JKClient.connect(JKClient.java:128)
at com.jkoolcloud.jesl.tnt4j.sink.JKCloudEventSink.open(JKCloudEventSink.java:250)
at com.jkoolcloud.tnt4j.tracker.TrackerImpl.openEventSink(TrackerImpl.java:133)
at com.jkoolcloud.tnt4j.tracker.TrackerImpl.open(TrackerImpl.java:683)
at com.jkoolcloud.tnt4j.tracker.TrackerImpl.(TrackerImpl.java:107)
at com.jkoolcloud.tnt4j.tracker.DefaultTrackerFactory.getInstance(DefaultTrackerFactory.java:61)
at com.jkoolcloud.tnt4j.TrackingLogger.getInstance(TrackingLogger.java:369)
at com.jkoolcloud.tnt4j.streams.outputs.AbstractJKCloudOutput.getTracker(AbstractJKCloudOutput.java:216)
at com.jkoolcloud.tnt4j.streams.outputs.JKCloudActivityOutput.logItem(JKCloudActivityOutput.java:72)
at com.jkoolcloud.tnt4j.streams.outputs.JKCloudActivityOutput.logItem(JKCloudActivityOutput.java:37)
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.processActivityItem(TNTParseableInputStream.java:261)
at com.jkoolcloud.tnt4j.streams.inputs.TNTInputStream.run(TNTInputStream.java:690)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Connection timed out (Connection timed out)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:542)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:414)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326)
at com.jkoolcloud.jesl.net.http.HttpClient.connect(HttpClient.java:167)
... 14 more
2017-05-16 12:28:14,244 ERROR [9:WmqStream:WmqStream!WmqStream] - Failed to record activity at position 0: Tracker is not opened to record activity data... | ERROR | 2017-05-16 12:28:
java.lang.IllegalStateException: Tracker is not opened to record activity data...
at com.jkoolcloud.tnt4j.streams.outputs.AbstractJKCloudOutput.checkTrackerState(AbstractJKCloudOutput.java:169)
at com.jkoolcloud.tnt4j.streams.outputs.AbstractJKCloudOutput.getTracker(AbstractJKCloudOutput.java:217)
at com.jkoolcloud.tnt4j.streams.outputs.JKCloudActivityOutput.logItem(JKCloudActivityOutput.java:72)
at com.jkoolcloud.tnt4j.streams.outputs.JKCloudActivityOutput.logItem(JKCloudActivityOutput.java:37)
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.processActivityItem(TNTParseableInputStream.java:261)
at com.jkoolcloud.tnt4j.streams.inputs.TNTInputStream.run(TNTInputStream.java:690)
at java.lang.Thread.run(Thread.java:745)
2017-05-16 12:28:14,245 DEBUG [9:WmqStream:WmqStream!StreamsThread] - Signaled to stop 9:WmqStream:WmqStream

Support custom property fields in tnt4j stream

how to handle properties in tnt4j?
2016-12-01 09:05:19,179 ERROR [main!StreamsAgent] - Parser MQFTEParserNormal already has field named Custom, at line 109 |
org.xml.sax.SAXException: Parser 'MQFTEParserNormal' already has field named 'Custom', at line 109
java.lang.IllegalArgumentException: Parser 'MQFTEParserNormal' already has field named 'Custom'
at com.jkoolcloud.tnt4j.streams.configure.sax.ConfigParserHandler.endElement(ConfigParserHandler.java:1149)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(Unknown Source)
at com.jkoolcloud.tnt4j.streams.configure.sax.StreamsConfigSAXParser.parse(StreamsConfigSAXParser.java:80)
at com.jkoolcloud.tnt4j.streams.configure.StreamsConfigLoader.load(StreamsConfigLoader.java:153)
at com.jkoolcloud.tnt4j.streams.configure.StreamsConfigLoader.(StreamsConfigLoader.java:103)
at com.jkoolcloud.tnt4j.streams.StreamsAgent.loadConfigAndRun(StreamsAgent.java:181)
at com.jkoolcloud.tnt4j.streams.StreamsAgent.loadConfigAndRun(StreamsAgent.java:175)
at com.jkoolcloud.tnt4j.streams.StreamsAgent.main(StreamsAgent.java:88)
Caused by: java.lang.IllegalArgumentException: Parser 'MQFTEParserNormal' already has field named 'Custom'
at com.jkoolcloud.tnt4j.streams.parsers.GenericActivityParser.addField(GenericActivityParser.java:105)
at com.jkoolcloud.tnt4j.streams.configure.sax.ConfigParserHandler.endElement(ConfigParserHandler.java:1112)
... 18 more

SWIFT-style message cannot be parsed with Name-Value parser

In reference to my earlier opened issue "Name-Value parser does not handle new line char (or in regex) as FieldDelim or ValueDelim correctly", a real SWIFT msg format has no space delimiter between the SWIFT tag and the field value and no semi-colon at the end of the line, eg.
:33A:BankOfParis
:25:234.00DLR
etc
I cannot find a combination of FieldDelim and ValueDelim to properly parse the msg.

tnt4j-streams-wmq cannot connect to QMGR

When I run the message-broker/run.sh (ubuntu 16.04) I get the following error:

Failed to connect to queue manager: com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2495'. (MQRC_MODULE_NOT_FOUND)

My QMGR is started.

I think it has something to do with the app not finding mqjbnd, or the right version of it. I tried pointing my MQ_JAVA_LIB_PATH to the 32-bit and the 64-bit lib-subfolders, but that did not help. Any ideas on how to solve this?

Name-Value parser does not handle new line char (or in regex) as FieldDelim or ValueDelim correctly

Trying to parse a simple msg, whose text arrives via the IBM activity trace.
In my parser source xml file, I have specified the following, with FieldDelim, end of a field, to be one or more carriage return or new line chars, and ValueDelim is a space:

 <parser name="SWIFT_NV_Msg_Data_parser" class="com.jkoolcloud.tnt4j.streams.parsers.ActivityNameValueParser">
	  <property name="FieldDelim" value="[\r\n]+"/>        
          <property name="ValueDelim" value=" "/> 
         <property name="Pattern" value="(.*)"/>  
         <property name="StripQuotes" value="false"/> 
        <property name="UseActivityDataAsMessageForUnset" value="false"/> 
     <field name="TransID"    locator=":33A" locator-type="Label"/>
		<field name="TransType"  locator=":24B" locator-type="Label"/>
		<field name="TransValue" locator=":35J" locator-type="Label"/>
		<field name="UserData" separator=":">
                       <field-locator locator=":57J" locator-type="Label"/>
                       <field-locator locator=":36"  locator-type="Label"/>
        </field>
    </parser>

The test msg contains these lines, each ending with a newline char \n = 0x0A
: :33A: TEST11_TID1234;
:24B: TEST11_TRANTYPE;
:35J: TEST11_$123.45;
:57J: /ABIC/TEST11_LOYDGB22
/NAME/Lloyds_Treasury
/GBSC/301557;
:36: TEST11_SENDING_PARTY;

The tnt4j-streams.log (below) shows that the input was split on the two 'r' chars in the word 'Treasury'
instead of the new line char at the end of each line, indicating that the '\r' in the FieldDelim param was handled as a literal 'n' char. The same result occurs if FieldValue="\n".
Setting FieldValue=";" will cause correct parsing, but I added the semi-colons to the msg for test purposes; a real SWIFT msg line ends with \n char or \r\n depending on the OS.

==========================================
tnt4j-streams.log:

2017-09-06 18:00:14,982 DEBUG [9:WmqTraceStream:WmqActivityTraceStreamQM_A!ActivityNameValueParser] - Split input into 3 fields | DEBUG | 2017-09-06 22:00:14.982000 UTC | RUNTIME=8800@Howard2-PC#SERVER=Howard2-PC#NETADDR=11.0.0.24#DATACENTER=UNKNOWN#GEOADDR=0,0

2017-09-06 18:00:14,982 TRACE [9:WmqTraceStream:WmqActivityTraceStreamQM_A!ActivityNameValueParser] - Found Name/Value: :33A: TEST11_TID1234;:24B: TEST11_TRANTYPE;:35J: TEST11_$123.45;:57J: /ABIC/TEST11_LOYDGB22/NAME/Lloyds_T | TRACE | 2017-09-06 22:00:14.982000 UTC | RUNTIME=8800@Howard2-PC#SERVER=Howard2-PC#NETADDR=11.0.0.24#DATACENTER=UNKNOWN#GEOADDR=0,0

2017-09-06 18:00:14,982 TRACE [9:WmqTraceStream:WmqActivityTraceStreamQM_A!ActivityNameValueParser] - Found Name/Value: easu | TRACE | 2017-09-06 22:00:14.982000 UTC | RUNTIME=8800@Howard2-PC#SERVER=Howard2-PC#NETADDR=11.0.0.24#DATACENTER=UNKNOWN#GEOADDR=0,0

2017-09-06 18:00:14,982 TRACE [9:WmqTraceStream:WmqActivityTraceStreamQM_A!ActivityNameValueParser] - Found Name/Value: y/GBSC/301557;:36: TEST11_SENDING_PARTY; | TRACE | 2017-09-06 22:00:14.982000 UTC | RUNTIME=8800@Howard2-PC#SERVER=Howard2-PC#NETADDR=11.0.0.24#DATACENTER=UNKNOWN#GEOADDR=0,0

Failed to transform locator 'MQGACF_ACTIVITY_TRACE.MQBACF_MESSAGE_DATA' value: 'null'

017-02-28 12:09:16,376 DEBUG [10:WmqTraceStream:WmqActivityTraceStream!WmqTraceStream] - Trace message consumption check: PCF message is null | DEBUG | 2017-02-28 17:09:16.376000 UTC | RUNTIME=58004@IRGUN-PC#SERVER=IRGUN-PC#NETADDR=11.0.0.236#DATACENTER=UNKNOWN#GEOADDR=0,0
017-02-28 12:09:16,376 DEBUG [10:WmqTraceStream:WmqActivityTraceStream!WmqTraceStream] - Waiting for message on SYSTEM.ADMIN.TRACE.ACTIVITY.QUEUE | DEBUG | 2017-02-28 17:09:16.376000 UTC | RUNTIME=58004@IRGUN-PC#SERVER=IRGUN-PC#NETADDR=7:#DATACENTER=UNKNOWN#GEOADDR=0,0
017-02-28 12:09:16,378 DEBUG [10:WmqTraceStream:WmqActivityTraceStream!WmqTraceStream] - Read msg from SYSTEM.ADMIN.TRACE.ACTIVITY.QUEUE, total payload length=712 | DEBUG | 2017-02-28 17:09:16.378000 UTC | RUNTIME=58004@IRGUN-PC#SERVER=IRGUN-PC#NETADDR=7:#DATACENTER=UNKNOWN#GEOADDR=0,0
017-02-28 12:09:16,381 DEBUG [10:WmqTraceStream:WmqActivityTraceStream!WmqTraceStream] - Trace operation MQXF_CLOSE match stream defined operations set: true | DEBUG | 2017-02-28 17:09:16.381000 UTC | RUNTIME=58004@IRGUN-PC#SERVER=IRGUN-PC#NETADDR=7:#DATACENTER=UNKNOWN#GEOADDR=0,0
017-02-28 12:09:16,381 DEBUG [10:WmqTraceStream:WmqActivityTraceStream!WmqTraceStream] - Trace reason code MQRC_NONE is not in stream defined exclusions set: true | DEBUG | 2017-02-28 17:09:16.381000 UTC | RUNTIME=58004@7:N-PC#SERVER=7:N-PC#NETADDR=7:#DATACENTER=UNKNOWN#GEOADDR=0,0
017-02-28 12:09:16,382 DEBUG [10:WmqTraceStream:WmqActivityTraceStream!WmqTraceStream] - Trace message initiation: PCF message activity trace marker value: 1/1 | DEBUG | 2017-02-28 17:09:16.382000 UTC | RUNTIME=58004@7:N-PC#SERVER=7:N-PC#NETADDR=7:#DATACENTER=UNKNOWN#GEOADDR=0,0
017-02-28 12:09:16,382 DEBUG [10:WmqTraceStream:WmqActivityTraceStream!WmqTraceParser] - Parsing: com.ibm.mq.pcf.PCFMessage | DEBUG | 2017-02-28 17:09:16.382000 UTC | RUNTIME=58004@7:N-PC#SERVER=7:N-PC#NETADDR=7:#DATACENTER=UNKNOWN#GEOADDR=0,0
017-02-28 12:09:16,398 WARN [10:WmqTraceStream:WmqActivityTraceStream!WmqTraceParser] - Failed to transform locator 'MQGACF_ACTIVITY_TRACE.MQBACF_MESSAGE_DATA' value: 'null' | WARNING | 2017-02-28 17:09:16.398000 UTC | RUNTIME=58004@7:N-PC#SERVER=7:N-PC#NETADDR=7:#DATACENTER=UNKNOWN#GE
ADDR=0,0
om.jkoolcloud.tnt4j.streams.transform.TransformationException: Failed to apply transformation 'fileName'
at com.jkoolcloud.tnt4j.streams.transform.GroovyTransformation.transform(GroovyTransformation.java:57)
at com.jkoolcloud.tnt4j.streams.fields.ActivityFieldLocator.transformValue(ActivityFieldLocator.java:489)
at com.jkoolcloud.tnt4j.streams.parsers.GenericActivityParser.getLocatorValue(GenericActivityParser.java:408)
at com.jkoolcloud.tnt4j.streams.parsers.GenericActivityParser.parseLocatorValues(GenericActivityParser.java:347)
at com.jkoolcloud.tnt4j.streams.parsers.GenericActivityParser.parseLocatorValues(GenericActivityParser.java:326)
at com.jkoolcloud.tnt4j.streams.parsers.GenericActivityParser.parsePreparedItem(GenericActivityParser.java:237)
at com.jkoolcloud.tnt4j.streams.parsers.GenericActivityParser.parse(GenericActivityParser.java:207)
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.applyParsers(TNTParseableInputStream.java:167)
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.applyParsers(TNTParseableInputStream.java:142)
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.makeActivityInfo(TNTParseableInputStream.java:222)
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.processActivityItem(TNTParseableInputStream.java:244)
at com.jkoolcloud.tnt4j.streams.inputs.TNTInputStream.run(TNTInputStream.java:690)
at java.lang.Thread.run(Unknown Source)
aused by: java.lang.NullPointerException
at java.lang.String.(Unknown Source)
at sun.reflect.GeneratedConstructorAccessor21.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:60)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:235)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:255)
at fileName.run(fileName:1)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:585)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:623)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:604)
at com.jkoolcloud.tnt4j.streams.transform.GroovyTransformation.transform(GroovyTransformation.java:54)
... 12 more

building tnt4j-streams 1.3.0-SNAPSHOT fails

[ERROR] /C:/java/GitHub/tnt4j-streams/tnt4j-streams-core/src/main/java/com/jkoolcloud/tnt4j/streams/inputs/TNTInputStream.java:[859,17] cannot find symbol
symbol: method endTransaction()
location: class com.jkoolcloud.tnt4j.streams.inputs.TNTInputStream<T,O>
[INFO] 1 error

Provide method to supresss browse activity for some queues

May be applicable beyond MQ but specifically, MQ provides 2 forms of MQGET, a destructive get and a browse (controlled by message get options). Browsing can create a lot of messages since a common application model is to browse the entire queue looking for a specific message. It may do this repeatedly over the course of time, potentially generating 1000s of message events. In some cases, these events are useful but in many cases, they are just 'noise'.

ActivityXmlParser fails to parse if msg contains default namespace (ns) without ns prefix

The XML test msg as shown with the given source parser spec fails to parse. But if the namespace attribute is changed to add a namespace prefix, i.e "xmlns:mybank=..." or if the entire XML namespace attribute is removed, then the msg parses correctly.

Test Msg

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Request xmlns="http://www.mybank.com/EPH/BankRequest">
 <header>
   <amount>TEST30-0.01</amount>
   <sender>HISBANK</sender>
   <currency>USD</currency>
 </header>
 <genericTransFields>
   <type>SWF202 OUTBOUND </type>
   <receiver>MYBANK FRANKFURT FRANKFURT BRANCH</receiver>
   <userRef>TEST30-QT06171612-1</userRef>
 </genericTransFields>
</Request>

Parser source .xml

<parser name="MYBANK_XML_Msg_Data_parser" class="com.jkoolcloud.tnt4j.streams.parsers.ActivityXmlParser">
    <field name="EventName" value="MYBANK XML Transaction"/>
    <field name="TransID"    locator="/Request/genericTransFields/userRef" locator-type="Label"/>
    <field name="TransType"  locator="/Request/genericTransFields/type"    locator-type="Label"/>
    <field name="TransValue" separator=":" >
	 <field-locator    locator="/Request/header/amount"    locator-type="Label"/>
	 <field-locator    locator="/Request/header/currency"  locator-type="Label"/>
    </field>	
</parser>
	<field name="MessageDataText10" locator="MQGACF_ACTIVITY_TRACE.MQBACF_MESSAGE_DATA" locator-type="Label" datatype="String"
               format="string" transparent="true">
            <parser-ref name="MYBANK_XML_Msg_Data_parser" aggregation="Merge"/>			
        </field>

Howard

bin/tnt4j-streams.sh does not work

When I try to run bin/tnt4j-streams.sh (standalone), I get the following error:
Error: Could not find or load main class com.jkoolcloud.tnt4j.streams.StreamsAgent

Also dependencies for com.jkoolcloud.tnt4j and com.jkoolcloud.jesl cant be resolved.

What am I missing here?

Ok, after downloading and building JESL, TNT4J and tnt4j-syslogd, dependencies were resolved.
Still getting the error though...

Include support for data transformation rules

Add support for data transformation rules to tnt4j-streams. This would allow the raw data, after being extracted based on the locator rules, to be altered, or transformed, before sending to jKool.

The simple use case is that the raw data being extracted is a full file name path, but only the simple file name is wanted. However, this needs to support potentially complex transformations, including chains of transformations.

One thought was to add support for <field-transform> elements under a <field> and <field=locator> elements. These would be applied after all other items, like <field-map>. If <field-transform> elements was directly under <field> element, then it would apply to the complete field value, after all locators are processed. If under a <field-locator> element, then would apply only to the value extracted by that locator.

If multiple <field-transform> elements, they are applied sequentially, as defined in configuration, with the input for each transform being the output of the previous one.

Support DF similar field-map functions in tnt4j

example:




errors:
2016-12-01 09:47:10,835 ERROR [10:WmqStream:WmqStream!WmqStream] - Failed to record activity at position 0: Failed to process activity data at position 0
java.text.ParseException: Failed to process activity data at position 0
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.makeActivityInfo(TNTParseableInputStream.java:225)
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.processActivityItem(TNTParseableInputStream.java:244)
at com.jkoolcloud.tnt4j.streams.inputs.TNTInputStream.run(TNTInputStream.java:629)
at java.lang.Thread.run(Unknown Source)
Caused by: java.text.ParseException: Failed parsing data for field StatusCode
at com.jkoolcloud.tnt4j.streams.parsers.ActivityXmlParser.parsePreparedItem(ActivityXmlParser.java:278)
at com.jkoolcloud.tnt4j.streams.parsers.ActivityXmlParser.parse(ActivityXmlParser.java:215)
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.applyParsers(TNTParseableInputStream.java:167)
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.applyParsers(TNTParseableInputStream.java:142)
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.makeActivityInfo(TNTParseableInputStream.java:222)
... 3 more
Caused by: java.lang.NumberFormatException: ERROR is not a valid number.
at org.apache.commons.lang3.math.NumberUtils.createNumber(NumberUtils.java:574)
at com.jkoolcloud.tnt4j.streams.fields.ActivityInfo.getNumberValue(ActivityInfo.java:985)
at com.jkoolcloud.tnt4j.streams.fields.ActivityInfo.getPropertyValue(ActivityInfo.java:380)
at com.jkoolcloud.tnt4j.streams.fields.ActivityInfo.setFieldValue(ActivityInfo.java:356)
at com.jkoolcloud.tnt4j.streams.fields.ActivityInfo.applyField(ActivityInfo.java:153)
at com.jkoolcloud.tnt4j.streams.parsers.ActivityParser.applyFieldValue(ActivityParser.java:126)
at com.jkoolcloud.tnt4j.streams.parsers.MessageActivityXmlParser.applyFieldValue(MessageActivityXmlParser.java:192)
at com.jkoolcloud.tnt4j.streams.parsers.ActivityParser.applyFieldValue(ActivityParser.java:152)
at com.jkoolcloud.tnt4j.streams.parsers.ActivityXmlParser.parsePreparedItem(ActivityXmlParser.java:268)
... 7 more

java.lang.NullPointerException: opType must be non-null

Assumption that opType is a required field in tnt4j streams. The parser config has no reference of such a field. In DF this field is ActivityType is the field we use to map operation type.
what should it be for operation type filed?

2016-12-01 12:37:10,751 DEBUG [10:WmqStream:WmqStream!MessageActivityXmlParser] - Parsing: started192.168.188.1useruserAGNT1AAGNT1Auseruser192.168.188.1414d512041474e543120202020202020d9433358207efb23Monitor for SUNGUARD files4Monitor for SUNGUARD files | DEBUG | 2016-12-01 17:37:10.751000 UTC | RUNTIME=84780@IRGUN-PC#SERVER=IRGUN-PC#NETADDR=11.0.0.236#DATACENTER=UNKNOWN#GEOADDR=0,0
2016-12-01 12:37:10,798 DEBUG [10:WmqStream:WmqStream!JKCloudActivityOutput] - Build new tracker for source APPL=JOB:Monitor for SUNGUARD files#SERVER=192.168.188.1#NETADDR= | DEBUG | 2016-12-01 17:37:10.798000 UTC | RUNTIME=84780@IRGUN-PC#SERVER=IRGUN-PC#NETADDR=11.0.0.236#DATACENTER=UNKNOWN#GEOADDR=0,0
2016-12-01 12:37:10,802 ERROR [10:WmqStream:WmqStream!WmqStream] - Failed to record activity at position 0: opType must be non-null | ERROR | 2016-12-01 17:37:10.801000 UTC | RUNTIME=84780@IRGUN-PC#SERVER=IRGUN-PC#NETADDR=11.0.0.236#DATACENTER=UNKNOWN#GEOADDR=0,0
java.lang.NullPointerException: opType must be non-null
at com.jkoolcloud.tnt4j.core.Operation.setType(Operation.java:232)
at com.jkoolcloud.tnt4j.streams.fields.ActivityInfo.buildEvent(ActivityInfo.java:690)
at com.jkoolcloud.tnt4j.streams.fields.ActivityInfo.buildTrackable(ActivityInfo.java:603)
at com.jkoolcloud.tnt4j.streams.fields.ActivityInfo.recordActivity(ActivityInfo.java:591)
at com.jkoolcloud.tnt4j.streams.outputs.JKCloudActivityOutput.logItem(JKCloudActivityOutput.java:59)
at com.jkoolcloud.tnt4j.streams.outputs.JKCloudActivityOutput.logItem(JKCloudActivityOutput.java:32)
at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.processActivityItem(TNTParseableInputStream.java:261)
at com.jkoolcloud.tnt4j.streams.inputs.TNTInputStream.run(TNTInputStream.java:629)
at java.lang.Thread.run(Unknown Source)

activity trace events in jKool show eventname that does not match to MQIACF_OPERATION_ID

for example, below is event fileds for EventName MQCLOSE
**MQCLOSE**	2017-02-20 16:25:47.000000 -05:00	0ms	**_CLOSE_**	PCFMessage: MQC

the actual PCF message looks like this. seebelow. As you may see there are multiple MQIACF grouping messages for the field MQIACF_OPERATION_ID that has different values.

also, i see mismatch between Eventname and EventType for instance:

MQDISCONNECT 2017-02-20 16:25:54.000000 -05:00 0ms OTHER PCFMessage: MQCF
MQCONNECT 2017-02-20 16:25:59.000000 -05:00 0ms OTHER PCFMessage: MQ

PCFMessage:
MQCFH (com.ibm.mq.headers.internal.store.ByteStore [encoding: 0x00000001, ccsid: 1208, size: 36] @841820874)
MQLONG Type: 26 (0x0000001a)
MQLONG StrucLength: 36 (0x00000024)
MQLONG Version: 3 (0x00000003)
MQLONG Command: 209 (0x000000d1)
MQLONG MsgSeqNumber: 1 (0x00000001)
MQLONG Control: 1 (0x00000001)
MQLONG CompCode: 0 (0x00000000)
MQLONG Reason: 0 (0x00000000)
MQLONG ParameterCount: 30 (0x0000001e)
MQCFST (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 68 (0x00000044)
MQLONG Parameter: 2015 (MQCA_Q_MGR_NAME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 48 (0x00000030)
MQCHAR[] String: "AGNT1 "
MQCFST (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 28 (0x0000001c)
MQLONG Parameter: 3191 (MQCACF_HOST_NAME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 7 (0x00000007)
MQCHAR[] String: "IGOR-PC"
MQCFST (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 32 (0x00000020)
MQLONG Parameter: 2711 (MQCAMO_START_DATE)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 12 (0x0000000c)
MQCHAR[] String: "2017-02-20��"
MQCFST (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 28 (0x0000001c)
MQLONG Parameter: 2712 (MQCAMO_START_TIME/MQCAMO_LAST_USED)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 8 (0x00000008)
MQCHAR[] String: "16:25:47"
MQCFST (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 32 (0x00000020)
MQLONG Parameter: 2707 (MQCAMO_END_DATE)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 12 (0x0000000c)
MQCHAR[] String: "2017-02-20��"
MQCFST (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 28 (0x0000001c)
MQLONG Parameter: 2708 (MQCAMO_END_TIME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 8 (0x00000008)
MQCHAR[] String: "16:25:47"
MQCFIN (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 31 (MQIA_COMMAND_LEVEL)
MQLONG Value: 750 (0x000002ee)
MQCFIN (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1079 (MQIACF_SEQUENCE_NUMBER)
MQLONG Value: 0 (0x00000000)
MQCFST (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 48 (0x00000030)
MQLONG Parameter: 3024 (MQCACF_APPL_NAME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 28 (0x0000001c)
MQCHAR[] String: "erver\bin\DataFlowEngine.exe"
MQCFIN (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1 (MQIA_APPL_TYPE/MQIA_FIRST)
MQLONG Value: 11 (0x0000000b)
MQCFIN (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1024 (MQIACF_PROCESS_ID)
MQLONG Value: 306132 (0x0004abd4)
MQCFST (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 32 (0x00000020)
MQLONG Parameter: 3025 (MQCACF_USER_IDENTIFIER)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 12 (0x0000000c)
MQCHAR[] String: "SYSTEM "
MQCFIN (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1357 (MQIACF_API_CALLER_TYPE)
MQLONG Value: 1 (0x00000001)
MQCFIN (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1358 (MQIACF_API_ENVIRONMENT)
MQLONG Value: 0 (0x00000000)
MQCFST (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 32 (0x00000020)
MQLONG Parameter: 3200 (MQCACF_APPL_FUNCTION)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 10 (0x0000000a)
MQCHAR[] String: "����������"
MQCFIN (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1400 (MQIACF_APPL_FUNCTION_TYPE)
MQLONG Value: 0 (0x00000000)
MQCFIN (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1359 (MQIACF_TRACE_DETAIL)
MQLONG Value: 1 (0x00000001)
MQCFIN (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1375 (MQIACF_TRACE_DATA_LENGTH)
MQLONG Value: 1000 (0x000003e8)
MQCFIN (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1397 (MQIACF_POINTER_SIZE)
MQLONG Value: 4 (0x00000004)
MQCFIN (com.ibm.mq.headers.internal.ReflectingStore [encoding: 0x00000001, ccsid: 1208, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 32 (MQIA_PLATFORM)
MQLONG Value: 11 (0x0000000b)
MQCFGR (com.ibm.mq.headers.internal.store.ByteStore [encoding: 0x00000222, ccsid: 437, size: 252] @861162882)
MQLONG Type: 20 (0x00000014)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 8013 (MQGACF_ACTIVITY_TRACE)
MQLONG ParameterCount: 8 (0x00000008) {
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1356 (MQIACF_OPERATION_ID)
MQLONG Value: 4 (0x00000004)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1025 (MQIACF_THREAD_ID)
MQLONG Value: 2 (0x00000002)
com.ibm.mq.pcf.MQCFST:MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 32 (0x00000020)
MQLONG Parameter: 3132 (MQCACF_OPERATION_DATE)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 12 (0x0000000c)
MQCHAR[] String: "2017-02-20��"
com.ibm.mq.pcf.MQCFST:MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 28 (0x0000001c)
MQLONG Parameter: 3133 (MQCACF_OPERATION_TIME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 8 (0x00000008)
MQCHAR[] String: "16:25:47"
com.ibm.mq.pcf.MQCFBS:MQCFBS (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 9 (0x00000009)
MQLONG StrucLength: 44 (0x0000002c)
MQLONG Parameter: 7006 (MQBACF_CONNECTION_ID)
MQLONG StringLength: 24 (0x00000018)
MQBYTE[] String: 0x414d514341474e543120202020202020865aa7582020890f
com.ibm.mq.pcf.MQCFST:MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 68 (0x00000044)
MQLONG Parameter: 2015 (MQCA_Q_MGR_NAME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 48 (0x00000030)
MQCHAR[] String: "AGNT1 "
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1242 (MQIACF_COMP_CODE)
MQLONG Value: 0 (0x00000000)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1254 (MQIACF_REASON_CODE)
MQLONG Value: 0 (0x00000000)} {
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1356 (MQIACF_OPERATION_ID)
MQLONG Value: 4 (0x00000004)
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1025 (MQIACF_THREAD_ID)
MQLONG Value: 2 (0x00000002)
MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 32 (0x00000020)
MQLONG Parameter: 3132 (MQCACF_OPERATION_DATE)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 12 (0x0000000c)
MQCHAR[] String: "2017-02-20��"
MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 28 (0x0000001c)
MQLONG Parameter: 3133 (MQCACF_OPERATION_TIME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 8 (0x00000008)
MQCHAR[] String: "16:25:47"
MQCFBS (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 9 (0x00000009)
MQLONG StrucLength: 44 (0x0000002c)
MQLONG Parameter: 7006 (MQBACF_CONNECTION_ID)
MQLONG StringLength: 24 (0x00000018)
MQBYTE[] String: 0x414d514341474e543120202020202020865aa7582020890f
MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 68 (0x00000044)
MQLONG Parameter: 2015 (MQCA_Q_MGR_NAME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 48 (0x00000030)
MQCHAR[] String: "AGNT1 "
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1242 (MQIACF_COMP_CODE)
MQLONG Value: 0 (0x00000000)
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1254 (MQIACF_REASON_CODE)
MQLONG Value: 0 (0x00000000)}
MQCFGR (com.ibm.mq.headers.internal.store.ByteStore [encoding: 0x00000222, ccsid: 437, size: 324] @1672260641)
MQLONG Type: 20 (0x00000014)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 8013 (MQGACF_ACTIVITY_TRACE)
MQLONG ParameterCount: 11 (0x0000000b) {
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1356 (MQIACF_OPERATION_ID)
MQLONG Value: 6 (0x00000006)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1025 (MQIACF_THREAD_ID)
MQLONG Value: 2 (0x00000002)
com.ibm.mq.pcf.MQCFST:MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 32 (0x00000020)
MQLONG Parameter: 3132 (MQCACF_OPERATION_DATE)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 12 (0x0000000c)
MQCHAR[] String: "2017-02-20��"
com.ibm.mq.pcf.MQCFST:MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 28 (0x0000001c)
MQLONG Parameter: 3133 (MQCACF_OPERATION_TIME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 8 (0x00000008)
MQCHAR[] String: "16:25:47"
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1016 (MQIACF_OBJECT_TYPE)
MQLONG Value: 5 (0x00000005)
com.ibm.mq.pcf.MQCFST:MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 68 (0x00000044)
MQLONG Parameter: 3046 (MQCACF_OBJECT_NAME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 48 (0x00000030)
MQCHAR[] String: "������������������������������������������������"
com.ibm.mq.pcf.MQCFST:MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 68 (0x00000044)
MQLONG Parameter: 3023 (MQCACF_OBJECT_Q_MGR_NAME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 48 (0x00000030)
MQCHAR[] String: "������������������������������������������������"
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1360 (MQIACF_HOBJ)
MQLONG Value: 15441664 (0x00eb9f00)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1242 (MQIACF_COMP_CODE)
MQLONG Value: 0 (0x00000000)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1254 (MQIACF_REASON_CODE)
MQLONG Value: 0 (0x00000000)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1022 (MQIACF_OPEN_OPTIONS)
MQLONG Value: 8224 (0x00002020)} {
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1356 (MQIACF_OPERATION_ID)
MQLONG Value: 6 (0x00000006)
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1025 (MQIACF_THREAD_ID)
MQLONG Value: 2 (0x00000002)
MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 32 (0x00000020)
MQLONG Parameter: 3132 (MQCACF_OPERATION_DATE)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 12 (0x0000000c)
MQCHAR[] String: "2017-02-20��"
MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 28 (0x0000001c)
MQLONG Parameter: 3133 (MQCACF_OPERATION_TIME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 8 (0x00000008)
MQCHAR[] String: "16:25:47"
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1016 (MQIACF_OBJECT_TYPE)
MQLONG Value: 5 (0x00000005)
MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 68 (0x00000044)
MQLONG Parameter: 3046 (MQCACF_OBJECT_NAME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 48 (0x00000030)
MQCHAR[] String: "������������������������������������������������"
MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 68 (0x00000044)
MQLONG Parameter: 3023 (MQCACF_OBJECT_Q_MGR_NAME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 48 (0x00000030)
MQCHAR[] String: "������������������������������������������������"
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1360 (MQIACF_HOBJ)
MQLONG Value: 15441664 (0x00eb9f00)
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1242 (MQIACF_COMP_CODE)
MQLONG Value: 0 (0x00000000)
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1254 (MQIACF_REASON_CODE)
MQLONG Value: 0 (0x00000000)
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1022 (MQIACF_OPEN_OPTIONS)
MQLONG Value: 8224 (0x00002020)}
MQCFGR (com.ibm.mq.headers.internal.store.ByteStore [encoding: 0x00000222, ccsid: 437, size: 156] @1566104998)
MQLONG Type: 20 (0x00000014)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 8013 (MQGACF_ACTIVITY_TRACE)
MQLONG ParameterCount: 7 (0x00000007) {
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1356 (MQIACF_OPERATION_ID)
MQLONG Value: 12 (0x0000000c)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1025 (MQIACF_THREAD_ID)
MQLONG Value: 2 (0x00000002)
com.ibm.mq.pcf.MQCFST:MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 32 (0x00000020)
MQLONG Parameter: 3132 (MQCACF_OPERATION_DATE)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 12 (0x0000000c)
MQCHAR[] String: "2017-02-20��"
com.ibm.mq.pcf.MQCFST:MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 28 (0x0000001c)
MQLONG Parameter: 3133 (MQCACF_OPERATION_TIME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 8 (0x00000008)
MQCHAR[] String: "16:25:47"
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1242 (MQIACF_COMP_CODE)
MQLONG Value: 0 (0x00000000)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1254 (MQIACF_REASON_CODE)
MQLONG Value: 0 (0x00000000)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1360 (MQIACF_HOBJ)
MQLONG Value: 15441664 (0x00eb9f00)} {
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1356 (MQIACF_OPERATION_ID)
MQLONG Value: 12 (0x0000000c)
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1025 (MQIACF_THREAD_ID)
MQLONG Value: 2 (0x00000002)
MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 32 (0x00000020)
MQLONG Parameter: 3132 (MQCACF_OPERATION_DATE)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 12 (0x0000000c)
MQCHAR[] String: "2017-02-20��"
MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 28 (0x0000001c)
MQLONG Parameter: 3133 (MQCACF_OPERATION_TIME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 8 (0x00000008)
MQCHAR[] String: "16:25:47"
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1242 (MQIACF_COMP_CODE)
MQLONG Value: 0 (0x00000000)
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1254 (MQIACF_REASON_CODE)
MQLONG Value: 0 (0x00000000)
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1360 (MQIACF_HOBJ)
MQLONG Value: 15441664 (0x00eb9f00)}
MQCFGR (com.ibm.mq.headers.internal.store.ByteStore [encoding: 0x00000222, ccsid: 437, size: 172] @1967123754)
MQLONG Type: 20 (0x00000014)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 8013 (MQGACF_ACTIVITY_TRACE)
MQLONG ParameterCount: 8 (0x00000008) {
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1356 (MQIACF_OPERATION_ID)
MQLONG Value: 7 (0x00000007)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1025 (MQIACF_THREAD_ID)
MQLONG Value: 2 (0x00000002)
com.ibm.mq.pcf.MQCFST:MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 32 (0x00000020)
MQLONG Parameter: 3132 (MQCACF_OPERATION_DATE)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 12 (0x0000000c)
MQCHAR[] String: "2017-02-20��"
com.ibm.mq.pcf.MQCFST:MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 28 (0x0000001c)
MQLONG Parameter: 3133 (MQCACF_OPERATION_TIME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 8 (0x00000008)
MQCHAR[] String: "16:25:47"
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1360 (MQIACF_HOBJ)
MQLONG Value: 15441664 (0x00eb9f00)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1365 (MQIACF_CLOSE_OPTIONS)
MQLONG Value: 0 (0x00000000)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1242 (MQIACF_COMP_CODE)
MQLONG Value: 0 (0x00000000)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1254 (MQIACF_REASON_CODE)
MQLONG Value: 0 (0x00000000)} {
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1356 (MQIACF_OPERATION_ID)
MQLONG Value: 7 (0x00000007)
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1025 (MQIACF_THREAD_ID)
MQLONG Value: 2 (0x00000002)
MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 32 (0x00000020)
MQLONG Parameter: 3132 (MQCACF_OPERATION_DATE)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 12 (0x0000000c)
MQCHAR[] String: "2017-02-20��"
MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 28 (0x0000001c)
MQLONG Parameter: 3133 (MQCACF_OPERATION_TIME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 8 (0x00000008)
MQCHAR[] String: "16:25:47"
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1360 (MQIACF_HOBJ)
MQLONG Value: 15441664 (0x00eb9f00)
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1365 (MQIACF_CLOSE_OPTIONS)
MQLONG Value: 0 (0x00000000)
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1242 (MQIACF_COMP_CODE)
MQLONG Value: 0 (0x00000000)
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1254 (MQIACF_REASON_CODE)
MQLONG Value: 0 (0x00000000)}
MQCFGR (com.ibm.mq.headers.internal.store.ByteStore [encoding: 0x00000222, ccsid: 437, size: 324] @938187913)
MQLONG Type: 20 (0x00000014)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 8013 (MQGACF_ACTIVITY_TRACE)
MQLONG ParameterCount: 11 (0x0000000b) {
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1356 (MQIACF_OPERATION_ID)
MQLONG Value: 6 (0x00000006)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1025 (MQIACF_THREAD_ID)
MQLONG Value: 2 (0x00000002)
com.ibm.mq.pcf.MQCFST:MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 32 (0x00000020)
MQLONG Parameter: 3132 (MQCACF_OPERATION_DATE)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 12 (0x0000000c)
MQCHAR[] String: "2017-02-20��"
com.ibm.mq.pcf.MQCFST:MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 28 (0x0000001c)
MQLONG Parameter: 3133 (MQCACF_OPERATION_TIME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 8 (0x00000008)
MQCHAR[] String: "16:25:47"
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1016 (MQIACF_OBJECT_TYPE)
MQLONG Value: 5 (0x00000005)
com.ibm.mq.pcf.MQCFST:MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 68 (0x00000044)
MQLONG Parameter: 3046 (MQCACF_OBJECT_NAME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 48 (0x00000030)
MQCHAR[] String: "������������������������������������������������"
com.ibm.mq.pcf.MQCFST:MQCFST (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 4 (0x00000004)
MQLONG StrucLength: 68 (0x00000044)
MQLONG Parameter: 3023 (MQCACF_OBJECT_Q_MGR_NAME)
MQLONG CodedCharSetId: 0 (0x00000000)
MQLONG StringLength: 48 (0x00000030)
MQCHAR[] String: "������������������������������������������������"
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1360 (MQIACF_HOBJ)
MQLONG Value: 15441664 (0x00eb9f00)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1242 (MQIACF_COMP_CODE)
MQLONG Value: 0 (0x00000000)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1254 (MQIACF_REASON_CODE)
MQLONG Value: 0 (0x00000000)
com.ibm.mq.pcf.MQCFIN:MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1022 (MQIACF_OPEN_OPTIONS)
MQLONG Value: 8224 (0x00002020)} {
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x00000010)
MQLONG Parameter: 1356 (MQIACF_OPERATION_ID)
MQLONG Value: 6 (0x00000006)
MQCFIN (com.ibm.mq.headers.internal.store.MQMessageStore [encoding: 0x00000222, ccsid: 437, hconnCharacterSetID: 0])
MQLONG Type: 3 (0x00000003)
MQLONG StrucLength: 16 (0x0

need to present activity-trace message payload in text format

if this is possible at all to present activity-trace message payload in text format
example received from activity trace (MQGACF_ACTIVITY_TRACE.MQBACF_MESSAGE_DATA):

PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/PjxuczI6THFtUmVxdWVzdCB4bWxuczpuczI9Imh0dHA6Ly93d3cuYm55bWVsbG9uLmNvbSI+PE1ldGFkYXRhPjxNZXNzYWdlUmVmZXJlbmNlSWQ+MTk1MTMyNzM2OC0wbGlxdWlkaXR5bWFuPC9NZXNzYWdlUmVmZXJlbmNlSWQ+PFJlcXVlc3RUeXBlPk5FVzwvUmVxdWVzdFR5cGU+PHRuczpBQUxfQUNLMV9BQ1RJT04+TkVXPC90bnM6QUFMX0FDSzFfQUNUSU9OPjx0bnM6QUFMX0FDSzJfQUNUSU9OPk9MRDwvdG5zOkFBTF9BQ0syX0FDVElPTj48UmVxdWVzdFN1YlR5cGU+PC9SZXF1ZXN0U3ViVHlwZT48U291cmNlU3lzdGVtPkVQSDwvU291cmNlU3lzdGVtPjxNZXNzYWdlVHlwZT4yMDI8L01lc3NhZ2VUeXBlPjxTb3VyY2VTeXN0ZW1SZWY+RVBIMTIzNDU2SUdPUjwvU291cmNlU3lzdGVtUmVmPjxTb3VyY2VTeXN0ZW1Dcm9zc1JlZj5VU0Q0NTA2MTMyMVdXV1c8L1NvdXJjZVN5c3RlbUNyb3NzUmVmPjxSZXF1ZXN0VGltZXN0YW1wPjIwMTUtMDYtMTcgMTY6MTc6NDIuMDQyPC9SZXF1ZXN0VGltZXN0YW1wPjwvTWV0YWRhdGE+PFBheW1lbnRPYmplY3Q+PFRyYW5zYWN0aW9uRGV0YWlscz48Q3VycmVuY3k+VVNEPC9DdXJyZW5jeT48QW1vdW50PjMyMTc4OTAuNjk8L0Ftb3VudD48VmFsdWVEYXRlPjIwMTUtMDYtMTc8L1ZhbHVlRGF0ZT48U291cmNlU3lzdGVtUHJpb3JpdHk+MTwvU291cmNlU3lzdGVtUHJpb3JpdHk+PC9UcmFuc2FjdGlvbkRldGFpbHM+PE5vc3Ryb0RldGFpbHM+PE5vc3Ryb0REQVN5c3RlbT5NTUQ8L05vc3Ryb0REQVN5c3RlbT48Tm9zdHJvQWNjb3VudD4zNTgzMjA5NzAwPC9Ob3N0cm9BY2NvdW50PjxOb3N0cm9CcmFuY2g+MDQ8L05vc3Ryb0JyYW5jaD48Tm9zdHJvRW50aXR5PjAwMjc2PC9Ob3N0cm9FbnRpdHk+PE5vc3Ryb0N1dE9mZlRpbWU+MjAxNTA2MTcxODU5MDA8L05vc3Ryb0N1dE9mZlRpbWU+PC9Ob3N0cm9EZXRhaWxzPjxDbGllbnREZQ==

wmq streams do not end in timely manner if no activity to the queue

the wmq streams do a unlimited wait on messages from the queue and even though a signal to terminate is processed, these waits do not terminate until a message leaving the process in a hung state.

the gets should specify a time out after a period of time, check signal processing and then re-issue

NameValue activity parser referenced from XML activity parser (stacked parsers) appears to be invalid

I'm trying to use stacked parsers to parse a msg that contains both XML elements and SWIFT type fields.
The msg, parser rules and error msgs are below.
It appears that a Name-Value parser cannot be referenced from an XML parser.

The test msg is TEST30_mybank4.txt:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Request xmlns="http://www.mybankcom/EPH/Request" xmlns:ns2="http://www.mybank.com/EPH/Response">
<header>
<messageId>ABC1506170075211-1951317824-0</messageId>
<entity>XYZ1234</entity>
<currency>EUR</currency>
<amount>TEST30-0.01</amount>
<currency2>USD</currency2>
<receiver>MYBANK FRANKFURT</receiver>
</header>
<genericTransFields>
  <type>SWF202 OUTBOUND </type>
  <sender>OTHER_BANK_XXX</sender>
   <reference>QT06171612-1</reference>
 <userRef>TEST30-QT06171612-1</userRef>
</genericTransFields>
<messageDetails>
   <tag20>QT06171612-1</tag20>
   <tag21>QAVOLUME</tag21>
   etc
</messageDetails>
<sourceMessage>{1:DEFAXXX6952}{2:abcd902N}{3:{108:QT06171612-1}}{4:
:20:QT06171612-1                           <=== SWIFT data starts here
:21:QAVOLUME
:32A:150617EUR0,01
:52A:HIS_BANK
:53B:/0049609710
:57A:LONDON
:58A:/11548432050460
LONDON
:72:/ABC/DEF-TEST
-}
</sourceMessage>
</Request>

Lines from parser .xml file :

<!-- Parse the SWIFT data and extract as field "UserData=field_20_value:field_52A_value" -->
<parser name="MYBANK_UserData_Parser" class="com.jkoolcloud.tnt4j.streams.parsers.ActivityNameValueParser">
        <property name="EntryPattern"><![CDATA[:(?<key>.*?):(?<value>.[^:]+)]]></property>
        <property name="ActivityDelim" value="EOF"/>
        <field name="EventName" value="MYBANK UserData"/>
        <field name="UserData" separator=":">
   	 <!-- locators are the keys i.e. :key_of_any_length:value_of_one or_more_chars_excluding_colon -->
              <field-locator locator="20"  locator-type="Label"/>
              <field-locator locator="52A" locator-type="Label"/>
        </field>
    </parser>
	
<parser name="MYBANK_XML_Msg_Data_Parser"  class="com.jkoolcloud.tnt4j.streams.parsers.ActivityXmlParser">
	     <property name="NamespaceAware" value="false"/>
	    <field name="EventName" value="MYBANK XML Transaction"/>
            <field name="TransID"    locator="/Request/genericTransFields/userRef" locator-type="Label"/>
	    <field name="TransType"  locator="/Request/genericTransFields/type"    locator-type="Label"/>
	   <field name="TransValue" separator=":" >
	       <field-locator    locator="/Request/header/amount"    locator-type="Label"/>
	      <field-locator    locator="/Request/header/currency"  locator-type="Label"/>
	   </field>
           <!-- Parse the SWIFT data, starting after chars "{4:",  with a Name-Value parser and merge -->
	   <field name="MYBANK_XML_MessageDataText" locator="{4:" locator-type="Label"  transparent="true" datatype="String" format="string">
            <parser-ref name="MYBANK_UserData_Parser" aggregation="Merge"/>
        </field>
    </parser>
	
 <!-- Parse MQ trace activity events -->
<parser name="TraceEventsParser" 
       class="com.jkoolcloud.tnt4j.streams.custom.parsers.WmqTraceParser">
        <property name="TranslateNumValues" value="true"/>
        <property name="RequireDefault" value="false"/>
             <many MQ related trace fields here>
              ...
              <!-- Extract additional custom properties from the msg and merge into output stream -->
	     <field name="MessageDataText10" 
                  locator="MQGACF_ACTIVITY_TRACE.MQBACF_MESSAGE_DATA" locator-type="Label" datatype="String" format="string" transparent="true">
                  <parser-ref name="MYBANK_XML_Msg_Data_Parser" aggregation="Merge"/>			
             </field>

 </parser>  <!-- end of TraceEventsParser -->

<stream name="WmqActivityTraceStreamQM_A" 
    class="com.jkoolcloud.tnt4j.streams.custom.inputs.WmqTraceStream">
     ...
     <parser-ref name="TraceEventsParser"/>   <!-- Parser to be used, defined above -->
 </stream>

tnt4j-streams.log extract of error messages {condensed]

...
WmqTraceStream] - Failed to record activity at position 0: Failed to process activity data at position 0
java.text.ParseException: Failed to process activity data at position 0
java.text.ParseException: Failed parsing data for field 'MessageDataText10'
ParseException: Failed parsing data for field 'MYBANK_XML_MessageDataText'
Exception occurred while processing XPath expression.
TransformerException: A node test that matches either NCName:* or QName was expected.
...

Caused by: java.lang.NullPointerException: Cannot invoke method replace() on null object

$fieldValue.replace("@", "_") i get error; 2018-06-19 10:25:25,401 WARN [21:StreamBoundedExecutorThread-3!ActivityXmlParser] - Failed to transform locator '/${Direct on}/file' value: 'null' | WARNING | 2018-06-19 14:25:25.401000 UTC | RUNTIME=21592@IRGUN-PC#SERVER=IRGUN-PC#NETADDR=11.0.0. 36#DATACENTER=UNKNOWN#GEOADDR=0,0 com.jkoolcloud.tnt4j.streams.transform.TransformationException: Failed to apply transformation 'DiffTransform' at com.jkoolcloud.tnt4j.streams.transform.GroovyTransformation.transform(GroovyTransformation.java:70) at com.jkoolcloud.tnt4j.streams.fields.AbstractFieldEntity.transformValue(AbstractFieldEntity.java:140) at com.jkoolcloud.tnt4j.streams.parsers.GenericActivityParser.getLocatorValue(GenericActivityParser.java:742) at com.jkoolcloud.tnt4j.streams.parsers.GenericActivityParser.parseLocatorValues(GenericActivityParser.java:657) at com.jkoolcloud.tnt4j.streams.parsers.ActivityXmlParser.parsePreparedItem(ActivityXmlParser.java:299) at com.jkoolcloud.tnt4j.streams.parsers.GenericActivityParser.parse(GenericActivityParser.java:360) at com.jkoolcloud.tnt4j.streams.parsers.ActivityParser.applyStackedParser(ActivityParser.java:168) at com.jkoolcloud.tnt4j.streams.parsers.ActivityParser.applyFieldValue(ActivityParser.java:156) at com.jkoolcloud.tnt4j.streams.parsers.GenericActivityParser.applyDynamicValue(GenericActivityParser.java:587) at com.jkoolcloud.tnt4j.streams.parsers.GenericActivityParser.applyFieldValue(GenericActivityParser.java:520) at com.jkoolcloud.tnt4j.streams.parsers.ActivityXmlParser.parsePreparedItem(ActivityXmlParser.java:316) at com.jkoolcloud.tnt4j.streams.parsers.GenericActivityParser.parse(GenericActivityParser.java:360) at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.applyParsers(TNTParseableInputStream.java:208) at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.applyParsers(TNTParseableInputStream.java:183) at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.makeActivityInfo(TNTParseableInputStream.java:276) at com.jkoolcloud.tnt4j.streams.inputs.TNTParseableInputStream.processActivityItem(TNTParseableInputStream.java:298
    at com.jkoolcloud.tnt4j.streams.inputs.TNTInputStream$ActivityItemProcessingTask.run(TNTInputStream.java:1057)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.NullPointerException: Cannot invoke method replace() on null object
at org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java:91)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:48)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.NullCallSite.call(NullCallSite.java:35)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
at DiffTransform.run(DiffTransform:1)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:585)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:623)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:604)
at com.jkoolcloud.tnt4j.streams.transform.GroovyTransformation.transform(GroovyTransformation.java:67)
... 21 more

handle cases where MQ application events include > 1 event per message

When setting up application activity events, the user has the option to set the number of events which can be sent in a single message. This is done to optimize the message traffic by reducing the number of messages.

While it can be set to 1, which sends a single event per message, the customer should have the ability to set this to a higher setting.

Event messages from IIB seem te get lost

Sometimes event messages from IBM Integration Bus are not sent to jkoolcloud.

Use-case:
I configured the TransactionStart and TransactionEnd events on the input node in the message-flow, so I expect 2 event message for every message I put on MQ.

Using RFHUtilc I first put 10 messages on MQ:
10.38.22 Message sent to MQTOP.IN length=303
10.38.21 Message sent to MQTOP.IN length=303
10.38.21 Message sent to MQTOP.IN length=303
10.38.21 Message sent to MQTOP.IN length=303
10.38.21 Message sent to MQTOP.IN length=303
10.38.21 Message sent to MQTOP.IN length=303
10.38.21 Message sent to MQTOP.IN length=303
10.38.20 Message sent to MQTOP.IN length=303
10.38.20 Message sent to MQTOP.IN length=303
10.38.20 Message sent to MQTOP.IN length=303

All 20 messages show up in jKool:
image

Then, a couple of minutes later, I put another 10 messages on MQ:
10.43.28 Message sent to MQTOP.IN length=303
10.43.28 Message sent to MQTOP.IN length=303
10.43.28 Message sent to MQTOP.IN length=303
10.43.27 Message sent to MQTOP.IN length=303
10.43.27 Message sent to MQTOP.IN length=303
10.43.27 Message sent to MQTOP.IN length=303
10.43.27 Message sent to MQTOP.IN length=303
10.43.27 Message sent to MQTOP.IN length=303
10.43.26 Message sent to MQTOP.IN length=303
10.43.26 Message sent to MQTOP.IN length=303

This time, only 17 messages show up in jKool:
image

Trace-log:
tnt4j-streams.zip

XML matcher might produce ambiguous results

When XML matcher parser is used it forwards field result that is Node, and it references whole parsed document, witch is actually evaluated by xpath instead of selected node.

For a workaround a sandwich of parsers could be used. see MFT sample.

support for generic and multiple include/exclude filters

Currently, for a given field, you can specify filters but often times you want to include/exclude multiple values. Include/Exclude Saturday/Sunday. However, if specified, only 1 value is recognized. A list or multiple values should be supported.

Similarly, in many cases, the desire is to use a mask to filter. Include/Exclude everything from PROD where PROD could be a regular expression.

run.bat - The system cannot find the path specified.

Jkool\TNT4J\tnt4j-streams-master\tnt4j-streams-wmq\samples\trace-events>run.bat
Jkool\TNT4J\tnt4j-streams-master\tnt4j-streams-wmq\samples\trace-events>....\bin\tnt4j-streams.bat -f:tnt-data-source.xml
The system cannot find the path specified.

need one more level up
....\bin\tnt4j-streams.bat -f:tnt-data-source.xml

Correlator "null" might be added

If two or more locators on field correlator present, it's possible that whel one of the correlators resolves to null it set\s nul to correlator field

i.e.:

<field name="Correlator">
            <field-locator locator="MQGACF_ACTIVITY_TRACE.MQBACF_CORREL_ID" locator-type="Label" datatype="Binary" required="false">
                <filter name="CorrelValueFilter">
                    <value handle="exclude" format="hexBinary">0x000000000000000000000000000000000000000000000000</value>
                </filter>
            </field-locator>    
            <field-locator locator="MsgIdforC" locator-type="Activity"/>
<field>

I this case if locator 1, or locator 2 resolves null. TNT4J-Streams set's "null" to correlator field.

The system cannot find the batch label specified - set_default_main

mismatch label name in tnt4j-streams.bat
@echo off
set RUNDIR=%~p0
set CLASSPATH=%CLASSPATH%";"%RUNDIR%..*";"%RUNDIR%..\lib*
set TNT4JOPTS=-Dtnt4j.config="%RUNDIR%..\config\tnt4j.properties"
set LOG4JOPTS=-Dlog4j.configuration="file:%RUNDIR%..\config\log4j.properties"
REM set LOGBACKOPTS=-Dlogback.configurationFile="file:%RUNDIR%..\config\logback.xml"
set STREAMSOPTS=%STREAMSOPTS% %LOG4JOPTS% %TNT4JOPTS%

if "%MAINCLASS%" == "" goto set_default_main
goto run_stream

:set_default
set MAINCLASS=com.jkoolcloud.tnt4j.streams.StreamsAgent

:run_stream
java %STREAMSOPTS% -classpath %CLASSPATH% %MAINCLASS% %*

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.