2011-12-19 35 views
5

Tôi đang viết một ứng dụng xoay với HttpClient 4.HttpClient 4 - Điều gì đã xảy ra với MultiThreadedHttpConnectionManager?

Tôi đã làm theo cách tiếp cận tiêu chuẩn bằng cách chuyển ThreadSafeClientConnManager sang phiên bản HttpClient được chia sẻ của tôi bây giờ. Nhưng bây giờ tôi muốn có thể thực hiện nhiều yêu cầu/lượt tải xuống cùng một lúc ...

Tôi đã tìm thấy một số ví dụ với MultiThreadedHttpConnectionManager cho HttpClient 3.x nhưng tôi có thể sử dụng nó cho phiên bản 4.x không? Nếu thế thì sao? Tôi đã thử nó nhưng không thành công ...

cám ơn;)

Trả lời

11

Trong 4.x, tương đương là Trình quản lý kết nối tổng hợp. Bạn có thể đọc thêm chi tiết về cách sử dụng của nó trong phần Pooling connection manager here. Tôi cũng khuyên bạn nên read this thread trên diễn đàn của họ.

1

Không có dấu hiệu cho thấy trong javadoc rằng một trường hợp DefaultHttpClient là thread-safe.

Vì vậy, tôi nghĩ bạn chỉ cần tạo một phiên bản HttpClient cho từng hoạt động ... sử dụng phiên bản phổ biến/được chia sẻ ThreadSafeClientConnManager. Điều đó sẽ cho phép bạn sử dụng lại các kết nối giữa các trường hợp HttpClient. Chỉ cần đảm bảo rằng bạn không tắt trình quản lý kết nối.

Các API hoàn toàn khác nhau giữa phiên bản 3.x và 4.x mà tôi sẽ ngạc nhiên nếu các ví dụ cho một là hướng dẫn cho người khác.

Các vấn đề liên quan