cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ext2 (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CXF-3504) 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;
Date Fri, 20 May 2011 11:22:47 GMT

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

ext2 commented on CXF-3504:
---------------------------

@FreeMan Fang:

My private temporary fix is quite different;the strategy I am using is:  "doesn't make attachments
pre cached" but "make delegate input stream always work right"; That's to say if using sun's
activation. my private fix will still keep all attachment being delegate inputstream(doesn't
cach any one); 
key fixed as following :

1)avoid recursive calling to DelegateInputStream's close
boolean closing = false;
DelegateInputStream.close{
  if(!closing){
     closing = true;
     is.close();
     if (!isClosed && deserializer != null) {
       deserializer.markClosed(this);
     }
     isClosed = true;
  }
}
2) consume all underlying bytes while close MIMEPartInputStream()-->(avoid mis read MIME
part: for example, if user just close first attachment, and  doesn't read it, then read second
attachment)

MIMEPartInputStream.close(){
  while(read() >= 0)
   ;
}
now using sun's activation will be better than geronimo; because the attachment's content
will never be cached if user doesnt' care about content of the attachment

> 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

Mime
View raw message