You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2015/04/02 10:44:54 UTC
[jira] [Updated] (CAMEL-8586) File component optimization required
for file response body
[ https://issues.apache.org/jira/browse/CAMEL-8586?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen updated CAMEL-8586:
-------------------------------
Fix Version/s: 2.16.0
> File component optimization required for file response body
> -----------------------------------------------------------
>
> Key: CAMEL-8586
> URL: https://issues.apache.org/jira/browse/CAMEL-8586
> Project: Camel
> Issue Type: Improvement
> Components: camel-core
> Affects Versions: 2.14.1
> Reporter: Sergey Zolotaryov
> Priority: Minor
> Fix For: 2.16.0
>
>
> I have a producer which makes files (writes data to a temp file) and sets it as output message body. I was expecting Camel file component to just rename the resulting file. But instead it copies the file leaving the temporary file intact. Here's a snippet from the FileOperations class which raised my concern:
> {code}
> // we can optimize and use file based if no charset must be used, and the input body is a file
> File source = null;
> boolean fileBased = false;
> if (charset == null) {
> // if no charset, then we can try using file directly (optimized)
> Object body = exchange.getIn().getBody();
> if (body instanceof WrappedFile) {
> body = ((WrappedFile<?>) body).getFile();
> fileBased = true;
> }
> if (body instanceof File) {
> source = (File) body;
> }
> }
> if (fileBased) {
> // okay we know the body is a file based
> {code}
> So the fileBased is only assumed if we are using a proprietary WrappedFile body, whereas normal file is not considered a fileBased body. Am I missing something?
> We could just treat files the same way as WrappedFile, or have an endpoint option to treat them as such, what do you think?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)