Question

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!

Was it helpful?

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top