您可以尝试使用以下代码示例来解决Apache Camel-2.22.1中无法评估动态日期表达式的问题:
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
public class DynamicDateExpressionExample {
public static void main(String[] args) throws Exception {
DefaultCamelContext context = new DefaultCamelContext();
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("file:/input/directory")
.setHeader("dynamicDate", constant("{{date:now:yyyyMMdd}}"))
.toD("file:/output/directory/${header.dynamicDate}");
}
});
context.start();
Thread.sleep(5000);
context.stop();
}
}
在上面的代码示例中,我们使用.setHeader("dynamicDate", constant("{{date:now:yyyyMMdd}}"))
来设置一个名为dynamicDate
的头信息,并将其值设置为当前日期的动态表达式。然后,我们使用.toD("file:/output/directory/${header.dynamicDate}")
来构建动态输出目录路径,其中${header.dynamicDate}
表示从头信息中获取动态日期值。
请注意,上述代码示例中的目录路径是示例路径,您需要根据实际情况进行修改。
希望这可以帮助到您!