Kiến trúc này là một máy chủ Liberty cấp trung nhận nhận các yêu cầu http và proxy tới các chương trình phụ trợ khác nhau, một số REST, một số chỉ JSON. Khi tôi định cấu hình SSL (chỉ thông qua các envVars rất thú vị)...có vẻ như tôi nhận được sự bắt tay đầy đủ cho mọi yêu cầu. Ngoài ra, phía máy chủ sử dụng một luồng khác nhau cho mỗi yêu cầu (có thể có liên quan). Đây là Liberty nên nó đa luồng. Servlet có một tham chiếu tĩnh tới POJO, nơi thực hiện tất cả httpClient của apache. HttpClientContext không được sử dụng (trong ví dụ này). Quá trình cơ bản đã kết thúc (chăm chỉ định dạng để đảm bảo tính hợp pháp sau này)
Các biến môi trường là:
-Djavax.net.ssl.keyStore=/root/lWasServers/certs/zosConnKey.jks
-Djavax.net.ssl.trustStore=/root/lWasServers/certs/zosConnTrust.jks
-Djavax.net.ssl.keyStorePassword=fredpwd
-Dhttp.maxConnections=40
Đã xem xét rất nhiều câu hỏi tương tự, nhưng một lần nữa, hiện tại quá trình này không sử dụng ngữ cảnh của máy khách. Hy vọng rằng tôi đang thiếu một cái gì đó đơn giản. Khi tôi tiếp tục gặp khó khăn với việc sử dụng FF trong RHEL, mã sẽ được thêm vào phản hồi đầu tiên.
PoolingHttpClientConnectionManager tĩnh riêng tư cm = null;
tĩnh riêng tư CloseableHttpClient httpClient = null;
// ....
cm = new PoolingHttpClientConnectionManager();
cm.setMaxTotal(512);
cm.setDefaultMaxPerRoute(256);
httpClient = HttpClients.custom().setConnectionManager(cm).build();
// ...
replyBody = httpClient.execute(httpGet, replyHandler);
Nếu kết nối HTTP liên tục có trạng thái và được liên kết với bối cảnh hoặc danh tính bảo mật cụ thể, chẳng hạn như khóa SSL hoặc tên người dùng NTLM, HttpClient sẽ cố gắng đảm bảo rằng kết nối đó không vô tình được sử dụng lại trong bối cảnh bảo mật khác hoặc cho một người dùng khác. Thông thường, cách đơn giản nhất để cho HttpClient biết rằng các yêu cầu có liên quan về mặt logic và thuộc cùng một phiên là sử dụng cùng một phiên bản HttpContext để thực hiện các yêu cầu này. Nhìn thấy Hướng dẫn về HttpClientTìm hiểu thêm. Bạn cũng có thể tắt tính năng theo dõi trạng thái kết nối nếu HttpClient chỉ có thể được truy cập bởi một người dùng hoặc trong cùng một bối cảnh bảo mật. Sử dụng một cách thận trọng.
Tôi là một lập trình viên xuất sắc, rất giỏi!