[
https://issues.apache.org/jira/browse/OLINGO-937?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Bolz updated OLINGO-937:
--------------------------------
Issue Type: Improvement (was: Bug)
> Avoid call to ServiceLoader on each request
> -------------------------------------------
>
> Key: OLINGO-937
> URL: https://issues.apache.org/jira/browse/OLINGO-937
> Project: Olingo
> Issue Type: Improvement
> Components: odata2-core
> Affects Versions: V2 2.0.6
> Reporter: Jonathan Bayle
> Assignee: Michael Bolz
> Labels: performance, xml
>
> Dear Olingo developers,
> New instances of XMLInputFactory, Transformer and XMLStreamWriter are created
> on each request that parses/produces XML documents.
> These instances are obtained through the ServiceLoader class, which is known
> for being slow.
> See:
> !http://i.imgur.com/O1aBUPR.png!
> These objects could be instanciated only once and stored as static class
> fields.
> {noformat}
> odata-core/src/main/java/org/apache/olingo/odata2/core/commons/XmlHelper.java
> 41: XMLInputFactory factory = XMLInputFactory.newInstance();
> odata-core/src/main/java/org/apache/olingo/odata2/core/debug/DebugInfoBody.java
> 120: Transformer transformer =
> TransformerFactory.newInstance().newTransformer();
> odata-core/src/main/java/org/apache/olingo/odata2/core/edm/provider/EdmServiceMetadataImplProv.java
> 75: XMLStreamWriter xmlStreamWriter =
> XMLOutputFactory.newInstance().createXMLStreamWriter(writer);
> odata-core/src/main/java/org/apache/olingo/odata2/core/ep/AtomEntityProvider.java
> 110: XMLStreamWriter writer =
> XMLOutputFactory.newInstance().createXMLStreamWriter(outStream,
> DEFAULT_CHARSET);
> 165: XMLStreamWriter writer =
> XMLOutputFactory.newInstance().createXMLStreamWriter(outStream,
> DEFAULT_CHARSET);
> 201: XMLStreamWriter writer =
> XMLOutputFactory.newInstance().createXMLStreamWriter(outStream,
> DEFAULT_CHARSET);
> 228: XMLStreamWriter writer =
> XMLOutputFactory.newInstance().createXMLStreamWriter(outStream,
> DEFAULT_CHARSET);
> 257: XMLStreamWriter writer =
> XMLOutputFactory.newInstance().createXMLStreamWriter(outStream,
> DEFAULT_CHARSET);
> 286: XMLStreamWriter writer =
> XMLOutputFactory.newInstance().createXMLStreamWriter(outStream,
> DEFAULT_CHARSET);
> 313: XMLStreamWriter writer =
> XMLOutputFactory.newInstance().createXMLStreamWriter(outStream,
> DEFAULT_CHARSET);
> odata-core/src/main/java/org/apache/olingo/odata2/core/ep/BasicEntityProvider.java
> 245: XMLStreamWriter xmlStreamWriter =
> XMLOutputFactory.newInstance().createXMLStreamWriter(writer);
> odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/AtomServiceDocumentProducer.java
> 60: XMLStreamWriter xmlStreamWriter =
> XMLOutputFactory.newInstance().createXMLStreamWriter(writer);
> {noformat}
> Thanks,
> John.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)