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)