将json消息发布到IBM Websphere MQ时,PublishJMS处理器失败

将json消息发布到IBM Websphere MQ时,PublishJMS处理器失败,jms,ibm-mq,apache-nifi,Jms,Ibm Mq,Apache Nifi,我在NIFI的PublishJMS处理器中推送json消息时遇到了一个问题 注: 只是为了添加不同的处理器,看看是否可以修改属性,但没有任何帮助,我能够找出问题的原因只是因为我在同一个流中同时使用ConsumeJMS和PublishJMS 要发布的JSON消息: {"dataprepcomplete":{"modelfamilytype":"property","groupid":"1","claims":[{"requestid":"1","claimid":"10001"},{"reques

我在NIFI的PublishJMS处理器中推送json消息时遇到了一个问题

注: 只是为了添加不同的处理器,看看是否可以修改属性,但没有任何帮助,我能够找出问题的原因只是因为我在同一个流中同时使用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'进行设置”的问题根据我之前发布的解决方案得到解决,我能够从下面的流将json消息发布到我的MQ队列

QueryDatabaseTable>ConvertAvroToJSON>PublishJMS

但是当我使用PublishJMS时,我从PublishJMS处理器得到了与前面文章中报告的相同的错误,这是下面提到的流程

ConsumeJMS>ReplaceText>PublishJMS

我遗漏了什么吗

我是否必须在PublishJMS之前插入其他处理器才能成功发布消息

在此方面的任何帮助都将不胜感激

以下是过程的属性

用户JMS属性:

替换文本属性

PublishJMS属性

PublishJMS处理器的数据源

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

谢谢@andrew,你说得对。 但是,我希望使用我所做的精确修复,以使其正常工作并克服IBMWebSphereMQJARSV7.5及以下版本的问题

我必须确保使用UpdateAttribute处理器从ApacheNIFI的流文件中删除以下提到的属性

JMS\u IBM\u MsgType、JMS\u IBM\u Encoding和JMS\u IBM\u putapptype

还可以通过添加具有相同名称的附加属性来替换流文件中与integer相同的属性

附件是使其工作的UpdateAttribute处理器的屏幕截图

希望它能有所帮助,因为在Apache NIFI解决实际问题之前,它是一个解决方案