[ 
https://issues.apache.org/jira/browse/SYNAPSE-211?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Asankha C. Perera updated SYNAPSE-211:
--------------------------------------

    Fix Version/s: 1.2

postponing to fix post 1.1.1

> Improve performance in XSLTMediator when temporary files are used
> -----------------------------------------------------------------
>
>                 Key: SYNAPSE-211
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-211
>             Project: Synapse
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 1.1, NIGHTLY
>            Reporter: Andreas Veithen
>            Priority: Minor
>             Fix For: 1.2
>
>
> The XSLT mediator has a mechanism to stream the result of the transformation 
> to a temporary file when its size exceeds some threshold (defined by 
> BYTE_ARRAY_SIZE, which has a fixed value of 8192). However, when this 
> happens, the transformation is actually triggered twice. During the first 
> run, the result is sent to a FixedByteArrayOutputStream which will raise a 
> SynapseException after the first 8192 bytes have been written. The 
> transformation is then restarted using a FileOutputStream for the result. 
> This is very bad for two reasons:
> * It introduced an overhead (the first attempt to execute the transformation) 
> for every large XML that is processed.
> * It makes the choice of the threshold BYTE_ARRAY_SIZE difficult: a small 
> value is bad for smaller XML documents (because temporary files are used 
> where this is not necessary) but good for larger ones (because it reduces the 
> overhead caused by the first transformation attempt); a large value is good 
> for smaller XML documents (avoids temporary files) but bad for larger ones 
> (increased overhead for the first transformation).
> A better approach would be to have an OutputStream implementation that will 
> first write to a byte array and once the threshold is exceeded transparently 
> switches to a temporary file, so that the transformation is always run only 
> once.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to