I just opened TUSCANY-4007 which talks about updating the 2.x code to allow binding.sca to have multiple remote binding delegations active at the same time. Because the binding type has an impact on the wire (in particular the binding contract and hence the databinding) this implies creating a new endpoint for each binding.sca/delegation pair. The implication for the code is that there are a number of places where we assume and check that each component/service/binding only has a single endpoint. I've made some changes to relax this restriction specifically for binding.sca. A positive side effect will likely be that we can make the local binding implementation much clearer. Rather than jumping round the side of the databinding of the remote service wire we can have an endpoint dedicated to the local optimization.
This is only applicable to the service side which has to be ready and listening for incoming messages. On the reference side it just picks the single delegation that matches the service that it's wired to. It will just pick the first local or remote one as appropriate but I guess you could write a special mapper that did something different. Anyhow I'm opening this thread in case people can think of any general problems that I might not have considered. I get a clean local build with the patch attached to the JIRA but there are still a few changes I need to make so I haven't committed it yet. [1] https://issues.apache.org/jira/browse/TUSCANY-4007 Simon -- Apache Tuscany committer: tuscany.apache.org Co-author of a book about Tuscany and SCA: tuscanyinaction.com