2017-04-06 80 views
1

我在從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

回答

1

謝謝@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。

1

嘗試在發送之前刪除以JMS開頭的所有屬性。使用帶有正則表達式掩碼的UpdateAttribute。