[
https://issues.apache.org/jira/browse/CXF-3750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13088533#comment-13088533
]
ext2 commented on CXF-3750:
---------------------------
the patch may cause a problem: when the user's business logic reached a runtime
exception in the one-way operation, a temporary file of big attachment will be
left on the disk;
The reason details is:
1) one way interceptor will cache the input stream to avoid underly transport
discard data (patch of CXF-3750 did), this may create a temporary file in disk
when the request contains a big attachment;
2) if user's business logical has no exception, so when ServieInvokeInterceptor
finished, the OutgoingChainInterceptor will release input stream then temporary
file will be released;
OutgoingChainInterceptor.handleMessage(){
if (null != bin && null != bin.getOperationInfo() &&
bin.getOperationInfo().isOneWay()) {
closeInput(message); //here , the temporary file will be released
return;
}
}
3) if user's business logical reached a runtime exception (unhandled) ,
ServieInvokeInterceptor return ABORT, so OutgoingChainInterceptor will not
executed continously, then the temporary file will not be released
> Sometimes, CXF servlet will blocked until bussiness logical finished for
> one-way operation
> ------------------------------------------------------------------------------------------
>
> Key: CXF-3750
> URL: https://issues.apache.org/jira/browse/CXF-3750
> Project: CXF
> Issue Type: Bug
> Environment: CXF2.3.3 windows xp, jdk1.5_22 or jdk1.6_17
> Reporter: ext2
> Assignee: Daniel Kulp
> Priority: Minor
> Fix For: 2.3.7, 2.4.3
>
> Attachments: oneway-deadlock.zip
>
>
> sometime,the servlet handle(JettyHTTPHandler) at server side doesn't return
> back to servlet engine(Jetty) immediately, it will waiting until the
> asynchrouse business logical finished;
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira