[
https://issues.apache.org/jira/browse/CAMEL-16197?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-16197.
---------------------------------
Resolution: Fixed
> CXF Attachment stay in file system after processing if file attachments has
> not been used
> -----------------------------------------------------------------------------------------
>
> Key: CAMEL-16197
> URL: https://issues.apache.org/jira/browse/CAMEL-16197
> Project: Camel
> Issue Type: Bug
> Components: camel-cxf
> Affects Versions: 2.25.3
> Reporter: Manuel Shenavai
> Assignee: Claus Ibsen
> Priority: Minor
> Fix For: 3.10.0
>
> Attachments: attachments.3.7.zip, 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)