[ 
https://issues.apache.org/jira/browse/ARIES-2211?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amichai Rothman updated ARIES-2211:
-----------------------------------
    Summary: Add support for deprecated EndpointListener  (was: Add support for 
deprecated EndpointListener support)

> Add support for deprecated EndpointListener
> -------------------------------------------
>
>                 Key: ARIES-2211
>                 URL: https://issues.apache.org/jira/browse/ARIES-2211
>             Project: Aries
>          Issue Type: Bug
>          Components: Remote Service Admin
>    Affects Versions: rsa-1.16.1
>            Reporter: Amichai Rothman
>            Priority: Major
>
> The spec requires support for both the new EndpointEventListener and the 
> deprecated EndpointListener. The current RSA components all use the newer 
> EndpointEventListener.
> In practice, it's very unlikely that anywould would need this 
> backwards-compatibility:
> - The new EventPointListener was introduced over a decade ago.
> - There is no issue when using only aries RSA, as all components use the new 
> listener amongst themselves.
> - There is no issue across osgi containers, i.e. remotes, since the discovery 
> providers are responsible for transporting events between the containers and 
> each side has its own local event producers/consumers using whatever listener 
> it supports. The issue is only of cross-compatibility within a single 
> container, not between different systems.
> - So, for such compatibility issues to arise in practice, one would have to 
> be using two different RSA implementations, within the same osgi container, 
> where one of them is over a decade old and the other is more modern. That is 
> exceedingly unlikely to happen in practice.
> That being said, such compatibility is needed for two reasons:
> - So we can be fully spec compliant.
> - For TCK tests to pass.
> The suggested solution is not to bring back unused deprecated interfaces into 
> the many components and classes that deal with endpoint events, but rather to 
> add an external bridge service that tracks event consumers and producers in 
> the system and translates from one event type to the other as needed when 
> events are published.
> Moreover, due to the above reasons, this component can be disabled by default 
> to avoid complexity and preformance implications, with a configurable option 
> to enable it only when needed, likely only for the TCK test environment, or 
> for whomever runs such an unlikely configuration on their system.
> Once the deprecated interface is removed from a future spec/TCK, we can just 
> delete this bridge implementation. All other code remains unaffected.



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

Reply via email to