Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-8586

File component optimization required for file response body

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 2.14.1
    • 2.16.0
    • camel-core
    • None
    • Novice

    Description

      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:

                  // 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
      
      

      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?

      Attachments

        1. 0002-CAMEL-8586.patch
          3 kB
          Sergey Zolotaryov
        2. 0001-CAMEL-8586.patch
          5 kB
          Sergey Zolotaryov

        Activity

          People

            davsclaus Claus Ibsen
            anydoby Sergey Zolotaryov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: