--- old/jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/util/ParserPool.java 2017-02-14 14:25:47.132239302 +0300 +++ new/jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/util/ParserPool.java 2017-02-14 14:25:47.032238663 +0300 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -45,8 +45,7 @@ public ParserPool(int capacity) { queue = new ArrayBlockingQueue(capacity); - //factory = SAXParserFactory.newInstance(); - factory = new com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl(); + factory = SAXParserFactory.newInstance("com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl", SAAJUtil.getSystemClassLoader()); factory.setNamespaceAware(true); for (int i = 0; i < capacity; i++) { try { @@ -79,7 +78,8 @@ public void returnParser(SAXParser saxParser) { saxParser.reset(); - resetSaxParser(saxParser); + //TODO!! Ask about jaxp issue (https://jaxp.dev.java.net/issues/show_bug.cgi?id=59) multirelease if needed +// resetSaxParser(saxParser); put(saxParser); } @@ -92,7 +92,7 @@ * is fixed. * @param parser the parser from the pool whose Symbol Table needs to be reset. */ - private void resetSaxParser(SAXParser parser) { + /*private void resetSaxParser(SAXParser parser) { try { //Object obj = parser.getProperty("http://apache.org/xml/properties/internal/symbol-table"); com.sun.org.apache.xerces.internal.util.SymbolTable table = new com.sun.org.apache.xerces.internal.util.SymbolTable(); @@ -103,6 +103,6 @@ } catch (SAXNotSupportedException ex) { //nothing to do } - } + }*/ }