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

Jochen Reinhardt commented on TOMAHAWK-1420:
--------------------------------------------

Sorry for the late reply. I am using MyFacesExtensionsFilter - I don't know 
about FacesContext wrapper. In the end, I am just a user trying to improve 
things.

For the fileUpload tag - I read the documentation and the recommendation but I 
decided to give it a try. And it turned out to work fine for me. I never 
experienced memory problems again after changing this. Thanks for your help - I 
wish I had found bug 1381 on my own before.

Cheers,
Jochen


> 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
>            Assignee: Leonardo Uribe
>            Priority: Critical
>             Fix For: 1.1.9-SNAPSHOT
>
>         Attachments: TOMAHAWK-1420.patch
>
>   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.

Reply via email to