Uploaded image for project: 'MyFaces Trinidad'
  1. MyFaces Trinidad
  2. TRINIDAD-1310

use state SAXParserFactory instead of calling newInstance each time

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.0.9-core, 1.2.9-core
    • 1.0.11-core, 1.2.11-core
    • None
    • None

    Description

      Avoid creating new SAXParserFactory's by using a static variable.
      as of J2SE 1.5, the SaxParserFactory is guaranteed to be thread-safe.

      Instead of :
      SAXParserFactory factory = SAXParserFactory.newInstance();
      factory.setNamespaceAware(true);
      use:

      private static final SAXParserFactory _SAX_PARSER_FACTORY;
      static

      { _SAX_PARSER_FACTORY = SAXParserFactory.newInstance(); _SAX_PARSER_FACTORY.setNamespaceAware(true); }

      Searching for SAXParserFactory.newInstance() in the Trinidad code yields:

      C:\Trinidad12\trinidad-impl\src\main\java\org\apache\myfaces\trinidadinternal\config\ConfigParser.java
      (75,36): SAXParserFactory factory = SAXParserFactory.newInstance();
      C:\Trinidad12\trinidad-impl\src\main\java\org\apache\myfaces\trinidadinternal\menu\MenuContentHandlerImpl.java
      (506,34): SAXParserFactory factory = SAXParserFactory.newInstance();
      C:\Trinidad12\trinidad-impl\src\main\java\org\apache\myfaces\trinidadinternal\metadata\RegionMetadata.java
      (184,34): SAXParserFactory factory = SAXParserFactory.newInstance();
      C:\Trinidad12\trinidad-impl\src\main\java\org\apache\myfaces\trinidadinternal\share\xml\JaxpXMLProvider.java
      (51,34): SAXParserFactory factory = SAXParserFactory.newInstance();
      C:\Trinidad12\trinidad-impl\src\main\java\org\apache\myfaces\trinidadinternal\skin\SkinUtils.java
      (241,34): SAXParserFactory factory = SAXParserFactory.newInstance();

      Attachments

        Activity

          People

            jeanne.waldman@oracle.com Jeanne Waldman
            jeanne.waldman@oracle.com Jeanne Waldman
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: