Search code examples
javaxmljava-7stax

Is XMLInputFactory thread-safe?


When profiling my application, I noticed that creating instances of XMLInputFactory over and over is very expensive. Is it safe to share its instances across multiple threads?

The javadoc doesn't say anything about its thread-safety and searching the internet doesn't give a definite answer!


Solution

  • I have decided to use Woodstox as the StAX implementation. It is both much faster than the default JDK implementation and explicitly mentions thread safety.

    Woodstox factories are thread-safe after configuration phase (calling setProperty()), but not during it. Most importantly, once all configuration is done, calling 'createXMLxxx' methods is fully thread-safe.