Apache骆驼文件名与当前日期

时间:2019-07-17 01:41:54

标签: apache-camel

是否可以提供动态文件名,其中包含骆驼文件目标端点中的日期?

我的application.yaml中包含以下内容

destination-end-point-file: file:/H:/temp?fileName=${date:now:yyyyMMdd}

这将引发以下异常。

 java.nio.file.InvalidPathException: Illegal char <:> at index 11: H:\temp\now:yyyyMMdd

我想要输出类似

的内容

some_file_name_20190717.csv

我如何让骆驼评估表达式${date:now:yyyyMMdd}

2 个答案:

答案 0 :(得分:0)

我能够通过在java路由中添加表达式来实现它,不知道为什么当它从spring属性文件中读取时为什么不对表达式求值。

在Java路由中

@comments = @commentable.comments.order('created_at desc')
  .includes(:user,:replies).paginate(page: params[:page])

paginated = @comments.paginate(page: page)

render(json: {
  comments: paginated,
  page: page,
  pages: paginated.pages,
  status: 200
})

在application.yaml

.to("{{tp.position.destination-end-point-file}}" + "?fileName=ps_open_txn_batch_${date:now:yyyyMMdd}.csv")

答案 1 :(得分:0)

您可以更新属性文件中的内容,例如:

tp.position.destination-end-point-file=file:/output/location? 
fileName=ps_open_txn_batch_$simple{date:now:yyyyMMdd}.csv