web-dev-qa-db-fra.com

Est-ce que Java Jersey 2.1 client thread safe?)

La documentation pour le maillot 2.0 dit :

Les instances clientes sont des ressources coûteuses. Il est recommandé qu'une instance configurée soit réutilisée pour la création de ressources Web. La création de ressources Web, la construction de requêtes et la réception de réponses sont garanties thread-safe. Ainsi, une instance Client et des instances WebResource peuvent être partagées entre plusieurs threads

Le client est-il toujours thread-safe dans la version 2.1? Je ne trouve pas d'informations sur la sécurité des threads dans documentation pour 2.1.

33
jakub.piasecki

Oui, le client Jersey 2.1 est thread-safe et devrait l'être même dans la future version de Jersey. Vous pouvez créer plusieurs WebTarget à partir d'une instance Client et appeler plusieurs requêtes sur ces WebTargets et même plus de requêtes sur une instance WebTarget en même temps.

La sécurité des threads peut être interrompue si vous enregistrez votre fournisseur non thread-safe personnalisé dans un client ou un WebTaget. Par exemple, un ClientRequestFilter qui n'est pas thread-safe et ne peut pas gérer plus de demandes simultanément. Les fournisseurs intégrés de Jersey sont thread-safe. Certains fournisseurs d'extensions Jersey ne doivent pas être thread-safe et dans ce cas, cela est spécifié dans le javadoc d'un fournisseur.

23
Miroslav Fuksa

Je pense, sur la base des notes de publication 2.1 , rien n'a changé à cet égard, mais je ne trouve pas la motivation de ce changement dans la documentation.

1
Erik Pragt