PublishJMS处理器在向IBM Websphere发布json消息时失败MQ

PublishJMS处理器在向IBM Websphere发布json消息时失败MQ

问题描述:

我在从NIFI的PublishJMS处理器中推送json消息时遇到问题。PublishJMS处理器在向IBM Websphere发布json消息时失败MQ

注: 我想补充想尽各种处理器看看这个属性可以被修改,但没有帮助,我能找出问题只是因为我在相同的流量使用ConsumeJMS & PublishJMS在一起。

JSON消息要发布:

{"dataprepcomplete":{"modelfamilytype":"property","groupid":"1","claims":[{"requestid":"1","claimid":"10001"},{"requestid":"2","claimid":"10002"}]}} 

的“JMSCC0051的问题:属性 'JMS_IBM_REPORT_PASS_CORREL_ID' 应该设置使用类型为 'java.lang.Integer中的',而不是 'java.lang.String中' “根据我早期的post中发布的解决方案解决,我可以从下面的流程中将json消息发布到我的MQ队列。

QueryDatabaseTable> ConvertAvroToJSON> PublishJMS

但作为从PublishJMS处理器早前报道后,当我使用的是PublishJMS下面提到的流动,我得到同样的错误。

ConsumeJMS> ReplaceText> PublishJMS

我错过了什么?

我需要在PublishJMS之前插入一些其他处理器才能成功发布消息。

对此的任何帮助将不胜感激。

以下是处理器的属性。

ConsumeJMS属性: enter image description here

ReplaceText性质 ​​

PublishJMS性质 enter image description here

DataProvenance PublishJMS处理器的 enter image description here enter image description here enter image description here

谢谢@andrew你是正确的。 但是我想提出确切的修复方案,以使其工作并解决IBM Websphere MQ jars v7.5及更低版本的问题。

我必须确保使用UpdateAttribute处理器从Apache Nifi的Flowfile中删除下面提到的属性。

JMS_IBM_MsgType,JMS_IBM_Encoding & JMS_IBM_PutApplType

而且还通过将具有相同名称的附加属性来替换相同的属性在Flowfile整数。

附加的UpdateAttribute处理器的屏幕截图使其工作。

enter image description hereenter image description hereenter image description here

希望它能帮助,因为它是一个工作,一直到实际的问题是与Apache NIFI。

尝试在发送之前删除以JMS开头的所有属性。使用带有正则表达式掩码的UpdateAttribute。