You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2020/08/24 13:28:56 UTC
svn commit: r1881140 - in /jackrabbit/branches/2.16: ./
jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/xml/ParsingContentHandler.java
jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/SessionImpl.java
Author: reschke
Date: Mon Aug 24 13:28:56 2020
New Revision: 1881140
URL: http://svn.apache.org/viewvc?rev=1881140&view=rev
Log:
JCR-4541: reduce classpath lookups for SaxParserFactory (patch by Lars Grefer) (merged r1877352 into 2.16)
Modified:
jackrabbit/branches/2.16/ (props changed)
jackrabbit/branches/2.16/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/xml/ParsingContentHandler.java
jackrabbit/branches/2.16/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/SessionImpl.java
Propchange: jackrabbit/branches/2.16/
------------------------------------------------------------------------------
Merged /jackrabbit/trunk:r1877352
Modified: jackrabbit/branches/2.16/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/xml/ParsingContentHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.16/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/xml/ParsingContentHandler.java?rev=1881140&r1=1881139&r2=1881140&view=diff
==============================================================================
--- jackrabbit/branches/2.16/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/xml/ParsingContentHandler.java (original)
+++ jackrabbit/branches/2.16/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/xml/ParsingContentHandler.java Mon Aug 24 13:28:56 2020
@@ -36,6 +36,13 @@ import org.xml.sax.helpers.DefaultHandle
*/
public class ParsingContentHandler extends DefaultContentHandler {
+ private static final SAXParserFactory SAX_PARSER_FACTORY;
+
+ static {
+ SAX_PARSER_FACTORY = SAXParserFactory.newInstance();
+ SAX_PARSER_FACTORY.setNamespaceAware(true);
+ }
+
/**
* Creates a {@link DefaultHandler} adapter for the given content
* handler.
@@ -57,9 +64,7 @@ public class ParsingContentHandler exten
*/
public void parse(InputStream in) throws IOException, SAXException {
try {
- SAXParserFactory factory = SAXParserFactory.newInstance();
- factory.setNamespaceAware(true);
- factory.newSAXParser().parse(new InputSource(in), this);
+ SAX_PARSER_FACTORY.newSAXParser().parse(new InputSource(in), this);
} catch (ParserConfigurationException e) {
throw new SAXException("SAX parser configuration error", e);
}
Modified: jackrabbit/branches/2.16/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/SessionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.16/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/SessionImpl.java?rev=1881140&r1=1881139&r2=1881140&view=diff
==============================================================================
--- jackrabbit/branches/2.16/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/SessionImpl.java (original)
+++ jackrabbit/branches/2.16/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/SessionImpl.java Mon Aug 24 13:28:56 2020
@@ -110,6 +110,13 @@ public class SessionImpl extends Abstrac
private static Logger log = LoggerFactory.getLogger(SessionImpl.class);
+ private static final SAXParserFactory SAX_PARSER_FACTORY;
+
+ static {
+ SAX_PARSER_FACTORY = SAXParserFactory.newInstance();
+ SAX_PARSER_FACTORY.setNamespaceAware(true);
+ }
+
private boolean alive;
/**
@@ -390,12 +397,10 @@ public class SessionImpl extends Abstrac
// NOTE: checks are performed by 'getImportContentHandler'
ImportHandler handler = (ImportHandler) getImportContentHandler(parentAbsPath, uuidBehavior);
try {
- SAXParserFactory factory = SAXParserFactory.newInstance();
- factory.setNamespaceAware(true);
- factory.setFeature(
+ SAX_PARSER_FACTORY.setFeature(
"http://xml.org/sax/features/namespace-prefixes", false);
- SAXParser parser = factory.newSAXParser();
+ SAXParser parser = SAX_PARSER_FACTORY.newSAXParser();
parser.parse(new InputSource(in), handler);
} catch (SAXException se) {
// check for wrapped repository exception