Java XPathFactory потокобезопасность

Является ли javax.xml.XPathFactory.newInstance () потокобезопасным?

Я спрашиваю, потому что считаю документацию по нему неоднозначной. Документы JDK 5 вообще не упоминают потокобезопасность; в JDK 6 они написали следующее:

Класс XPathFactory не является потокобезопасным. Другими словами, это ответственность приложения за то, чтобы не более одного потока используя объект XPathFactory в любой момент. Реализации рекомендуется отмечать методы как синхронизированные, чтобы защитить себя от сломанные клиенты.

Насколько я понимаю, иметь одноэлементную реализацию для XPathFactory небезопасно, но делать что-то вроде этого должно быть безопасно:

XPath xPathEvaluator = XPathFactory.newInstance().newXPath();

Я что-то упускаю? Зависит ли это от фактического класса, который его расширяет? Нужно ли синхронизировать метод, содержащий вышеуказанный оператор?

9
задан Alex Ciminian 2 February 2012 в 10:14
поделиться