下面是我的代码:
from("quartz2:report?cron=" + cronExpression)
.routeId("jms:queue:test")
.setHeader("CURRENT_TIME", simple("${date:now:MM-dd-yyyy HH:mm:ss.S}"))
//Writing column names for report to the file
.setBody()
.simple(summaryHeaders)
.transform(body().append("\n"))
.to("file:" + filePath + "?fileName="+scheduledFileName+"${date:now:MM-dd-YYYY}.csv&fileExist=append")
.to("sql:" + dataSummaryQuery + "?dataSource=#dataSource")
.log(LoggingLevel.INFO, "Summary query executed")
.marshal(csvFormat)
.to("file:" + filePath + "?fileName="+scheduledFileName+"${date:now:MM-dd-YYYY}.csv&fileExist=append")
.log(LoggingLevel.INFO, "Report written to file")
.setBody()
.simple(fileHeaders)
.transform(body().append("\n"))
.to("file:" + filePath + "?fileName="+scheduledFileName+"${date:now:MM-dd-YYYY}.csv&fileExist=append")
.to("sql:" + dataExtractionQuery + "?dataSource=#dataSource")
.log(LoggingLevel.INFO, "data query executed")
.marshal(csvFormat)
.to("file:" + filePath + "?fileName="+scheduledFileName+"${date:now:MM-dd-YYYY}.csv&fileExist=append");
直到上面的代码,一切正常,所有需要的数据都在文件中。当我尝试将文件移动到其他位置时,移动的文件仅包含来自上述数据提取查询的数据。以前的数据不在文件中。这里发生了什么?如何移动添加了所有数据的文件?
移动文件的代码:
from("file:" + filePath + "?fileName="+scheduledFileName+"${date:now:MM-dd-YYYY}.csv&fileExist=append")
.to("file:" + filePath + "?fileName=temp/");
如果我不移动文件,我拥有文件中的所有数据