Amichai Rothman created ARIES-2233:
--------------------------------------

             Summary: Unify duplicate implementations
                 Key: ARIES-2233
                 URL: https://issues.apache.org/jira/browse/ARIES-2233
             Project: Aries
          Issue Type: Task
          Components: Remote Service Admin
    Affects Versions: rsa-1.16.1
            Reporter: Amichai Rothman


Discovery implementations have to implement certain functionality such as 
tracking the interests of all registered EndpointEventListeners and their 
scopes, registering their own EndpointEventListener to track local endpoint 
notifications that need to be sent remotely, and various implementation details 
like removing all endpoints when a bundle is stopped, ignoring the discovery's 
own listener when tracking all listeners, etc.

Today we have 5 different discovery implementations, and each of them 
re-invents the wheel from scratch, with different degrees of correctness and 
spec-compliance.

Instead of all of this duplication and various bugs and missing bits, we should 
extract a common set of utility and base classes that implement all of the 
required behavior once, and can be reused by all existing, future and custom 
discovery implementations. That way each implementation only needs to deal with 
the parts that separate it from others, i.e. the transport layers, and fixes 
and improvements to the common implementation will be applied to all of them 
and not only some.

In addition, there are some general-purpose utility methods sprinkled around 
the project, including duplicate ones - these should all be moved to a common 
place and reused by anyone who needs them.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to