Darasa la HttpClient linafaa linafaa zaidi kama singleton kwa kikoa cha programu moja. Hii inamaanisha kuwa singleton inapaswa kushirikiwa katika madarasa mengi ya kontena. Kwa mbinu hii, unapata singleton, lakini hii inafanya kuwa vigumu kushiriki. Darasa la HttpClient hutekelezea kiolesura kinachoweza kutolewa.
Je, tutengeneze toleo jipya la HttpClient kwa maombi yote?
Ingawa inatekelezea kiolesura kinachoweza kutolewa, kwa hakika ni kitu kinachoshirikiwa. Hii ina maana kwamba chini ya vifuniko ni reentrant na thread salama. Badala ya kuunda muundo mpya wa HttpClient kwa kila utekelezaji unapaswa kushiriki mfano mmoja wa HttpClient kwa maisha yote ya programu.
Je, unapaswa kutumia tena
HttpClient ni inakusudiwa kuthibitishwa mara moja na kutumika tena katika maisha yote ya programu. Kuanzisha darasa la HttpClient kwa kila ombi kutamaliza idadi ya soketi zinazopatikana chini ya mizigo mizito. Hii itasababisha makosa ya SocketException.
Je, HttpClient haidhibitiwi?
Ingawa HttpClient haitekelezi kwa njia isiyo ya moja kwa moja kiolesura kinachoweza kutolewa, matumizi ya kawaida ya HttpClient si ya kuiondoa baada ya kila ombi. Kipengee cha HttpClient kimekusudiwa kuishi kwa muda mrefu kama programu yako inahitaji kufanya maombi ya
Je, mazungumzo ya HttpClient ni salama?
HttpClient ni salama kabisa wakati inatumiwa na kidhibiti cha uunganisho salama cha uzi kama vile MultiThreadedHttpConnectionManager. … Wakati huo huo mfano wa HttpClient na meneja wa muunganisho unapaswa kushirikiwa kati ya nyuzi zote kwa ufanisi wa hali ya juu.