我有一個小型駱駝項目,在該項目中,我從文件系統讀取文件並在我的路徑中處理它們。 裏面的處理功能我設置爲什麼setHeader在過程函數中不工作但功能不正常
exchange.getOut().setHeader("tc.GIARO.item.ids",simple("TC00000021"));
和事後。爲了()函數無法正常工作。 但是,當我設置的處理功能外像
.setHeader("tc.GIARO.item.ids", simple("TC00000021"))
的。要()函數識別該標頭和作品。
,如果我的.log().process後直()或.setHeader()函數,它以兩種方式註銷..
有人知道爲什麼會這樣?
編輯:
@Override
public void configure() throws Exception {
from("file://" + path + "?preMove=inprogress&move=.done")
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
String myFilename = (String) exchange.getIn().getHeader("CamelFileNameOnly");
String[] tcid = myFilename.split("-");
String filename = (String) exchange.getIn().getHeader("CamelFilePath");
String content = new String(Files.readAllBytes(Paths.get(filename)));
exchange.getOut().setBody(content, String.class);
exchange.getOut().setHeader("tc.GIARO.item.ids", simple("TC00000021")); //whether here
}
})
.setHeader("tc.GIARO.item.ids", simple("TC00000021")) // or whether here
.log("${header.tc.GIARO.item.ids}")
.to("tc://" + ip + "/tc?tcMethod=getItemAndRelatedObjects&tcUser=" + user + "&tcPass=" + pass
+ "&tcSessionKey=1");
}
很難說沒有你的路線的其餘部分。但是,我會建議你從getOut()更改爲getIn(),因爲它是你想改變的部分。 – noMad17