hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Kalnichevski <ol...@apache.org>
Subject Re: Why HttpHost declared final?
Date Wed, 23 Apr 2014 09:55:33 GMT
On Tue, 2014-04-22 at 15:55 +0400, Dmitry Potapov wrote:
> Hello, everyone,
> 
> I have list of HttpHost which is use for requests fallback. I've decided to
> assign some weight for this hosts, to use more reliable for requests and
> fallback to less reliable in case of failure.
> Most obvious solution is to extend HttpHost with class that supports weight and
> provides compareTo() function, so I can sort this list each time the weights
> are changed. Unfortunately, I've found that HttpHost is declared final and
> can't be extended.
> What is the reason for such restriction? If there is no one, then can we remove
> it?
> 

Dmitry,

HttpHost is used as a part of route info used as a map key by connection
managers. A subclass of HttpHost with incorrectly implemented
#hashCode / #equals can mess up connection pooling. 

Would not it be cleaner to use association instead of inheritance in
this particular case?

Oleg 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message