JakartaのHttpComponents 4.3でSpring 4のRestTemplateを使用して、リモートWebサービス用のクライアントを実装しています。クライアントは、保護された回線で基本認証を使用します。すべてがうまくいっていますが、今は接続のユーザー名がリクエストの内容によって異なるモードにアップグレードしています。データ駆動型のクレデンシャルが動作しないRESTfulなサービスクライアント
これまでのところ、PoolingHttpClientConnectionManagerは、既存の接続が新しい接続要求に対して有効かどうかを判断する際に、資格情報を無視してしまうようです。したがって、リモートサービスの最初の呼び出しは素晴らしいです。 2回目の呼び出しでは、「無効な資格情報」が返されます。ログを調べると、両方の呼び出しで同じ認証ヘッダーが使用されていることがわかります。
これを処理する方法についてのご意見はありますか? PoolingHttpClientConnectionManagerが名前付きプールをサポートし、プール名としてユーザー名を効果的に使用できるようになることを期待していました。それは事実ではないようです。私は複数のPoolingHttpClientConnectionManagerオブジェクトを使ってみましたが、実際の接続プールは共有されています。