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