【问题标题】:Apache Camel - How to make a value accessible across the entire route?Apache Camel - 如何使整个路由中的值都可以访问?
【发布时间】:2020-07-22 02:48:55
【问题描述】:

我正在尝试查询表(使用主键)、根据查询响应生成 CSV 并将 CSV 文件存储在 Azure 存储容器中的 Camel 路由。在 Azure 中成功存储文件后,我需要更新最初查询的表中的标志。为此,我将主键设置为标头的一部分,但在执行 azure 端点后,标头值将被重置。所以我无法检索初始标头,因此无法检索我需要的主键值。存储在整个路由期间可访问的值的理想方式是什么?

from("direct:processPayroll")
  .setHeader("payrollId",simple("${body.payrollId}"))
  .to("sql:classpath:sql/payroll.sql")
  .marshal(csvFormat)
  .log("${headers}")
  .to("azure-storage-blob://staccount/container?blobName=payroll.csv&operation=uploadBlockBlob")
  .log("${headers}")

【问题讨论】:

    标签: apache-camel spring-camel


    【解决方案1】:

    您可以将其存储在交换属性中。您可以使用.setProperty("key","value") 添加值并使用$exchangeProperty("key") 检索它

    【讨论】:

      猜你喜欢
      • 2016-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多