This commit introduces the DistributedProxySelector class, which enables efficient and thread-safe proxy selection among multiple ProxySelector instances. The new class ensures proper distribution of proxy selector usage with the help of AtomicInteger and maintains thread safety using ThreadLocal. Key features and improvements: Distributes proxy selection among multiple ProxySelector instances Ensures thread safety by using ThreadLocal<ProxySelector> Properly handles exceptions and connection failures Comprehensive JavaDoc documentation for class, methods, and variables Includes unit tests for various scenarios and edge cases This new functionality provides a robust and efficient solution for distributing proxy selection in multi-threaded environments, improving the overall performance and reliability of the system.
Apache HttpComponents Client
Welcome to the HttpClient component of the Apache HttpComponents project.
Building Instructions
For building from source instructions please refer to BUILDING.txt.
Dependencies
HttpClient main module requires Java 8 compatible runtime and depends on the following external libraries:
Other dependencies are optional.
(for detailed information on external dependencies please see pom.xml)
Licensing
Apache HttpComponents Client is licensed under the Apache License 2.0. See the files LICENSE.txt and NOTICE.txt for more information.
Contact
- For general information visit the main project site at
https://hc.apache.org/ - For current status information visit the status page at
https://hc.apache.org/status.html - If you want to contribute visit
https://hc.apache.org/get-involved.html
Cryptographic Software Notice
This distribution may include software that has been designed for use with cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See https://www.wassenaar.org/ for more information.
The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.
The following provides more details on the included software that may be subject to export controls on cryptographic software:
Apache HttpComponents Client interfaces with the Java Secure Socket Extension (JSSE) API to provide
- HTTPS support
Apache HttpComponents Client does not include any implementation of JSSE.