You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Leonardo Uribe (JIRA)" <de...@myfaces.apache.org> on 2009/05/29 20:22:45 UTC

[jira] Commented: (TOMAHAWK-1420) uploadThresholdSize seems to be ignored

    [ https://issues.apache.org/jira/browse/TOMAHAWK-1420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12714540#action_12714540 ] 

Leonardo Uribe commented on TOMAHAWK-1420:
------------------------------------------

Isn't this related to TOMAHAWK-1381? are you using ExtensionsFilter or tomahawk FacesContext wrapper?

> uploadThresholdSize seems to be ignored
> ---------------------------------------
>
>                 Key: TOMAHAWK-1420
>                 URL: https://issues.apache.org/jira/browse/TOMAHAWK-1420
>             Project: MyFaces Tomahawk
>          Issue Type: Bug
>          Components: File Upload
>    Affects Versions: 1.1.8
>         Environment: MyFaces Tomahawk, JSF 1.2 - SUN RI on JBoss 5.01 / integrated Tomcat
>            Reporter: Jochen Reinhardt
>            Priority: Critical
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> uploadThresholdSize seems to be ignored. I set it to 0 to get all files saved to disk for further processing in EJB. I also tried with 1 and 1k - but the result stayed the same. I got OutOfMemoryError when uploading huge files as HtmlFileUploadRenderer after line 180 always creeated an instance of UploadedFileDefaultMemoryImpl.
> String implementation = ((HtmlInputFileUpload) uiComponent).getStorage();
> if( implementation == null || ("memory").equals( implementation ) )
>     upFile = new UploadedFileDefaultMemoryImpl( fileItem );
> else
>     upFile = new UploadedFileDefaultFileImpl( fileItem );
> So something seems to be wrong with HtmlInputFileUpload.getStorage() - which uses an EL Expression to get the implementation.But I'm not sure how this is handled in myFaces. The expression just reads:
> ValueExpression vb = getValueExpression("storage");
> I'm not sure if that is put correctly in the FacesContext. It only works when I use fileUpload's storage attribute to hardcode the strategy to disk in JSF. 
> UploadedFileDefaultMemoryImpl always will load the complete file into memory (line 42) - no matter what FileItem / ThresholdingOutputStream is used!
> int sizeInBytes = (int)fileItem.getSize();
> bytes = new byte[sizeInBytes];
> fileItem.getInputStream().read(bytes);
> I guess that this is causing my memory issues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.