> I've opened an issue for it
http://issues.apache.org/jira/browse/WICKET-730

Getting back to the original issue ...

As I understand it, the complaint comes from this behavior:

  * Close the streams which has been opened when getting the InputStream
  * using [EMAIL PROTECTED] #getInputStream()}. All the input streams are 
closed at
  * the end of the request. This is done when the FileUploadField, which
  * is associated with this FileUpload is detached.

associated with FileUpload#closeStreams() and FileUploadField#onDetach():

  * Clean up at the end of the request. This means closing all inputstreams
  * which might have been opened from the fileUpload.

So the problem is that fileUpload.closeStreams() is called while we are
still using the input stream, because of a user-spawned thread.  I assume
that you do not have a "thou shalt not spawn threads" or at least a "thou
shalt not use Wicket managed resources in spawned threads" policy.  In such
case, closing streams in onDetach() is not a valid assumption for the
framework.  Instead, use a similar solution to FileCleaner, and close the
resources when no one is using them anymore.

        --- Noel


Reply via email to