Manuel Shenavai created CAMEL-16197:
---------------------------------------

             Summary: CXF Attachment stay in file system after processing
                 Key: CAMEL-16197
                 URL: https://issues.apache.org/jira/browse/CAMEL-16197
             Project: Camel
          Issue Type: Bug
            Reporter: Manuel Shenavai
         Attachments: attachments.zip

Hi everyone,

 

we are using the camel CXF component and found that the cleanup of cached 
attachments is not working as expected. CXF will persist attachments to disk 
whenever they exceed a certain limit in size: [cxf 
source|https://github.com/apache/cxf/blob/3.2.x-fixes/core/src/main/java/org/apache/cxf/io/CachedOutputStream.java#L433]
 If the attachments are consumed within the route, i.e. when they are used to 
send a message, the files will be removed from the filesystem. In case they are 
not used at all, the files will stay in the filesystem. So the CXF component 
somehow assumes that the attachments are consumed within the route.

 

Example

We send a message that contains a attachment to a CXF endpoint. The 
attachment-size exceeds the size threshold and therefore will be persisted to 
disk. During message processing the attachment will not be used (the endpoint 
is oneway and attachments are not used within the route). After message 
processing, the file stays in the filesystem.

 

Reproduce with attached example project:
 # Start the Server.java test (starts the server taking the requests)
 # Start the Client.java (sends a request to the server)
 # Check the temp folder (printed in console by Client.java, in my case 
“C:\Users\me\AppData\Local\Temp\cxf-tmp-3330821712753099698)
 # Repeat executing Client.java and find for each run a new tmp-file

 

Due to this file leaks, the filesystem will be filled up over time.  

Best regards,

Manuel



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to