1
我向我的NiFi流程添加了SpringContextProcessor,它按預期執行並更新FlowFile內容和屬性。但在NiFi的而不是看到發送/接收數據出處部分,我看到NiFi SpringContextProcessor中斷流程
03/27/2017 11:47:57.164 MDT RECEIVE 42fa1c3f-edde-4cb7-8e73-ce752f7e3d66
03/27/2017 11:47:57.163 MDT DROP 667094a7-8eef-4657-981a-dc9fdc6c4056
03/27/2017 11:47:57.163 MDT SEND 667094a7-8eef-4657-981a-dc9fdc6c4056
貌似是被丟棄原始消息,並通過新的消息取代。我在其他組件中沒有看到這種行爲,即它們似乎都保留了原始的Flow File UUID。 Spring處理器代碼的簡化版本:
@ServiceActivator(inputChannel = "fromNiFi", outputChannel = "toNiFi")
public Message<byte[]> process1(Message<byte[]> inMessage) {
String inMessagePayload = new String(inMessage.getPayload());
String userId = getUserIdFromDb(inMessagePayload);
String outMessagePayload = inMessagePayload + userId;
return MessageBuilder.withPayload(outMessagePayload.getBytes())
.copyHeaders(inMessage.getHeaders())
.setHeader("userId", userId)
.build();
}
有沒有辦法在傳出消息中保留原始流文件UUID?
你能指導我如何在Apache Nifi中實現SpringContextProcessor的任何鏈接..無法找到一個工作示例 – Ranjan