【发布时间】:2012-02-21 19:46:35
【问题描述】:
我正在尝试使用 Camel 处理潜在的大文件,并且担心它们“适合”在 Camel Message 的主体中。有没有一种方法可以将文件的名称(路径)作为消息的主体传递,然后在处理器中使用它从磁盘读取?
【问题讨论】:
标签: apache-camel
我正在尝试使用 Camel 处理潜在的大文件,并且担心它们“适合”在 Camel Message 的主体中。有没有一种方法可以将文件的名称(路径)作为消息的主体传递,然后在处理器中使用它从磁盘读取?
【问题讨论】:
标签: apache-camel
你可以只传入一个 java.io.File 实例。这本质上是 Camel 文件组件自己做的事情(尽管它放置在 WrappedFile 中,因为与 ftp 组件共享代码)。
您当然也可以将文件名存储为字符串,然后从处理器访问该文件,或者通过
String name = exchange.getIn().getBody(String.class);
File file = new File(name);
...
FileInputStream fis = new FileInputStream(file);
// read the file from the stream, etc.
【讨论】:
File(包装在WrappedFile中)对象?而当我以byte[] (exchange.getIn().getBody(byte[].class)) 的形式请求正文时,那么它会加载正文吗?