Java Jersey 2.1 クライアントはスレッドセーフですか? 質問する

Java Jersey 2.1 クライアントはスレッドセーフですか? 質問する

ジャージー2.0のドキュメントにはこう書かれている:

クライアントインスタンスは高価なリソースです。Web リソースの作成には、構成されたインスタンスを再利用することをお勧めします。Web リソースの作成、リクエストの構築、応答の受信は、スレッドセーフであることが保証されています。したがって、クライアントインスタンスと WebResource インスタンスは、複数のスレッド間で共有できます。

バージョン2.1でもクライアントはスレッドセーフですか?スレッドセーフに関する情報が見つかりません。2.1 のドキュメント。

ベストアンサー1

はい、Jersey 2.1 クライアントはスレッド セーフであり、将来の Jersey バージョンでもスレッド セーフになるはずです。1 つのクライアント インスタンスから多数の WebTarget を作成し、これらの WebTarget に対して多数のリクエストを呼び出すことができます。また、1 つの WebTarget インスタンスに対してさらに多くのリクエストを同時に呼び出すことができます。

スレッド セーフではないカスタム プロバイダーを Client または WebTaget に登録すると、スレッド セーフが破壊される可能性があります。たとえば、スレッド セーフではないため、同時に複数のリクエストを処理できない ClientRequestFilter などです。Jersey 組み込みプロバイダーはスレッド セーフです。一部の Jersey 拡張プロバイダーはスレッド セーフであってはならず、この場合、プロバイダーの javadoc で指定されます。

おすすめ記事