105.4. Samples


您可以输入固定的 Constant 表达式,如 myfile.txt

fileName="myfile.txt"

假设我们假定使用文件使用者读取文件,并希望将读取文件移到备份文件夹,其中当前日期为子文件夹。这可以通过类似如下的表达式进行架构:

fileName="backup/${date:now:yyyyMMdd}/${file:name.noext}.bak"

还支持相对文件夹名称,因此假设备份文件夹应为同级文件夹,然后您可以附加 ...,如下所示:

fileName="../backup/${date:now:yyyyMMdd}/${file:name.noext}.bak"

因为这是对 简单语言的扩展,我们还可以从此语言访问所有好性,因此在这种用例中,我们希望使用 in.header.type 作为动态表达式中的参数:

fileName="../backup/${date:now:yyyyMMdd}/type-${in.header.type}/backup-of-${file:name.noext}.bak"

如果您在表达式中有一个自定义日期,则 Camel 支持从消息标头中检索日期。

fileName="orders/order-${in.header.customerId}-${date:in.header.orderDate:yyyyMMdd}.xml"

最后,我们还可以使用 bean 表达式来调用 POJO 类,该类生成要使用的字符串输出(或可转换为 String):

fileName="uniquefile-${bean:myguidgenerator.generateid}.txt"

当然,所有这些都可以合并到一个表达式中,您可以在一个组合表达式中使用 文件语言简单Bean 语言。这对常见的文件路径模式非常强大。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.