8176168: Performance drop due to SAXParser SymbolTable reset
Reviewed-by: joehw, lancea
--- a/jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/util/ParserPool.java Thu Apr 20 18:14:05 2017 +0000
+++ b/jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/util/ParserPool.java Mon Apr 24 18:21:46 2017 +0300
@@ -46,6 +46,10 @@
public ParserPool(int capacity) {
queue = new ArrayBlockingQueue<SAXParser>(capacity);
factory = SAXParserFactory.newInstance("com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl", SAAJUtil.getSystemClassLoader());
+ try {
+ factory.setFeature("jdk.xml.resetSymbolTable", true);
+ } catch(SAXException | ParserConfigurationException e) {
+ }
factory.setNamespaceAware(true);
for (int i = 0; i < capacity; i++) {
try {