同步读取文件

时间:2016-08-16 19:52:25

标签: spring-integration

我们正在尝试实施以下用例:

  1. 发件人在JMS队列中发布消息。有效负载具有文件名。
  2. 我们需要从预先配置的目录中读取文件(JMS消息中提供的文件名),并将内容存储在数据库中。
  3. 文件'namespace'中是否有可用的弹簧组件可以读取文件而不是轮询文件?

    我知道我们可以轮询预先配置的目录,但是我们想看看是否同步读取(Sync Read选项允许我们从进程中间读取文件,这与读取选项的民意调查不同对于新文件并且是该过程的开始)由Oracle产品提供也可以在Spring Integration中使用。

1 个答案:

答案 0 :(得分:1)

以其名称创建File的行动非常简单,我们只是没有在此问题上引入一些内容。

这是:

<transformer expression="new java.io.File(payload)"/>

或Java DSL变体:

.<String, File>transform(File::new)

之后,您可以使用开箱即用的变换器(AbstractFilePayloadTransformer实现)来获取内容并发送给数据库。

是的,您可以自行定制SpEL表达式和Lambda,以根据预配置的目录和传入名称构建正确的文件路径。