[ 
https://issues.apache.org/jira/browse/CXF-3504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13037823#comment-13037823
 ] 

Freeman Fang commented on CXF-3504:
-----------------------------------

Hi,

I think the recursive call is ok here.

First of all, not all ins in attachment.cache is DelegateInputStream, and we 
need close the ins in anycase after caching it.
If the ins in attachment.cache is DelegateInputStream, it's also fine, the 
deserializer.markClosed(this) can safely end the call and won't cause infinite 
invocation. 

I'll commit my new patch soon.

Freeman

> for big attachment, a temporary file is left on disk and keep opend, if the 
> application just close the DataSource's inputStream and doesn't consume it; 
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-3504
>                 URL: https://issues.apache.org/jira/browse/CXF-3504
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.4
>            Reporter: ext2
>            Assignee: Freeman Fang
>             Fix For: 2.4.1, 2.3.5
>
>         Attachments: CXF-3504-new.patch, CXF-3504.patch, 
> attachment-clean.zip, mtom.wsdl
>
>
> when the client receiving multiple larget attachments from server. here 
> "large" means : attachment size is large enough to be saved as temporary file 
> on disk;
> for the last attachment, if the user application only close the input stream 
> got from DataSource and doesn't consume the input stream at all, a temporary 
> file will be left on the disk.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to