读取文件时,如何使用 apache Camel 将输入设置为字符串而不是 filePath



我尝试定义一个名为 source 的字符串,该字符串包含我希望从中传输文件的路径。 这是我的代码示例:

String currentDate = sdf.format(date);
String source = "C:\files\" + currentDate;
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("file:source?noop=true")

所以,我基本上想做的是:每天都会创建一个新文件夹到以当前日期命名的特定位置(例如:20191001,20190930(,这就是currentDate字符串的用途。 当我放置特定的文件路径而不是源代码时,代码有效(from("file:C:\everything for java\moveInValidFiles\files\20191001?noop=true"((,但为此我想使用一个字符串来保存路径,因为每天我都会得到新的文件夹。我有什么办法吗?

如何将输入设置为字符串而不是 filePath

的一部分

以Java的方式思考。将其视为 java 变量而不是纯字符串。

String currentDate = sdf.format(date);
String source = "C:\files\" + currentDate;
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("file:" + source + "?noop=true")

如何从每天创建的具有特定命名模式的目录中收集文件

文件使用者(from 部分(在创建路由时设置一次,并永久使用,直到路由被销毁。因此,您可以通过以下方式

  1. 拥有自己的机制来每天重新创建路由(具有不同的目录路径(
  2. 使用驼峰文件组件查询参数filterDirectory(例如"file:C:\files?noop=true&filterDirectory=${date:now:yyyyMMdd}"(

最新更新