Является ли java Jersey 2.1 клиентской нитью безопасной?
Документация для jersey 2.0 говорит:
Экземпляры клиента - это дорогостоящие ресурсы. Рекомендуется использовать сконфигурированный экземпляр повторно используется для создания веб-ресурсов. создание веб-ресурсов, построение запросов и получение ответы гарантируются потокобезопасностью. Таким образом, экземпляр клиента и Экземпляры WebResource могут совместно использоваться несколькими потоками
Является ли клиент по-прежнему безопасным для потоков в версии 2.1? Я не могу найти информацию о безопасности потоков в docs for 2.1.
Ответы
Ответ 1
Да, клиент Jersey 2.1 является потокобезопасным, и он должен быть потокобезопасным даже в будущей версии Джерси. Вы можете создать много WebTarget из одного экземпляра клиента и вызвать много запросов на этих WebTargets и даже больше запросов на один экземпляр WebTarget в одно и то же время.
Безопасность потока может быть нарушена, если вы зарегистрируете свой пользовательский поставщик, не являющийся потоком, в Client или WebTaget. Например, ClientRequestFilter, который не является потокобезопасным и не может обрабатывать больше запросов одновременно. Встроенные провайдеры Джерси являются потокобезопасными. Некоторые поставщики услуг в Джерси не должны быть потокобезопасными, и в этом случае это указано в javadoc поставщика.
Ответ 2
Я думаю, что, основываясь на 2.1 примечаниях к выпуску, ничего не изменилось в этом отношении, но я не могу найти мотивацию для этого изменения в документации,