You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Amichai Rothman (JIRA)" <ji...@apache.org> on 2013/05/20 15:17:17 UTC

[jira] [Commented] (DOSGI-184) Split Endpoint repository from TopologyManagerExport

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

Amichai Rothman commented on DOSGI-184:
---------------------------------------

+1 on splitting it, the topology manager and some other components could sure use some simplification.

The fix on trunk has a little bug though: EndpointRepository.getServices() leaks the inner structure to its caller(s), which then access it without proper synchronization. The simplest fix would be to return a copy of the set, although filtering via isAlreadyExportedForRsa internally and then returning only the non-exported services might also be nice, adding a bit more encapsulation.

Also, the class is public but none of its methods are (they are package-visible) - it would be clearer if the methods were made public as well.

                
> Split Endpoint repository from TopologyManagerExport
> ----------------------------------------------------
>
>                 Key: DOSGI-184
>                 URL: https://issues.apache.org/jira/browse/DOSGI-184
>             Project: CXF Distributed OSGi
>          Issue Type: Improvement
>    Affects Versions: 1.4.0
>            Reporter: Christian Schneider
>            Assignee: Christian Schneider
>             Fix For: 1.5
>
>
> The TopologyManager is a bit difficult to understand as it manages the known services map and also has to do the communication with ServiceListener, EndpointListenerNotifer and RemoteServiceAdmin. 
> Especially the synchronized blocks make the code complicated. 
> So I propose to split the handling of the map of known Endpoints into a EndpointRepository.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira