Performance Improvement: Change SOAPBuilder to use InputStream instead of Reader --------------------------------------------------------------------------------
Key: AXIS2-2508 URL: https://issues.apache.org/jira/browse/AXIS2-2508 Project: Axis 2.0 (Axis2) Issue Type: Bug Components: kernel Reporter: Rich Scheuerle During some performance testing, we discovered that the SOAPBuilder code converts an InputStream into a Reader. streamReader = StAXUtils.createXMLStreamReader(BuilderUtil.getReader(inputStream, charSetEncoding)); I wholeheartedly agree with the new code structure to use the BOM information that is embedded in the InputStream. But we probably shouldn't convert the entire InputStream into a Reader. So I have created an improvement on the current solution. Here is the same snippet of code in the new solution: // Get the actual encoding by looking at the BOM of the InputStream PushbackInputStream pis = BuilderUtil.getPushbackInputStream(inputStream); String actualCharSetEncoding = BuilderUtil.getCharSetEncoding(pis, charSetEncoding); // Get the XMLStreamReader for this input stream streamReader = StAXUtils.createXMLStreamReader(pis, actualCharSetEncoding); This new solution still uses BOM detection, but it also does not require a full translation into a Reader. I have completed the testing for this change, and will be committing it shortly. I don't believe that this is a controversal change, but if anyone disagrees please contact me. -- 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]