You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Felix Meschberger (JIRA)" <ji...@apache.org> on 2011/03/17 13:08:29 UTC

[jira] Commented: (FELIX-2882) It's dangerous to use service instances as keys in a Map (in the http whiteboard bundle).

    [ https://issues.apache.org/jira/browse/FELIX-2882?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13007897#comment-13007897 ] 

Felix Meschberger commented on FELIX-2882:
------------------------------------------

Alternatively (and more easily probably) an IdentityHashMap could be used instead of a regular HashMap

> It's dangerous to use service instances as keys in a Map (in the http whiteboard bundle).
> -----------------------------------------------------------------------------------------
>
>                 Key: FELIX-2882
>                 URL: https://issues.apache.org/jira/browse/FELIX-2882
>             Project: Felix
>          Issue Type: Bug
>          Components: HTTP Service
>    Affects Versions: http-2.2.0
>            Reporter: Marcel Offermans
>            Priority: Minor
>
> In ExtenderManagerImpl.addMapping() the key that is used to store a tuple in a Map is actually the service instance that you get from the ServiceTracker. This is dangerous because you have absolutely no idea if that instance correctly implements equals() and hashCode(). It's usually better to use the ServiceReference as the key (which is guaranteed to correctly implement those methods). It's probably only a minor issue in practice, but still one you can look for a long time if it does bite you.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira