On Thu, Aug 25, 2011 at 3:50 PM, Simon Laws <[email protected]> wrote: > I've come across an interested collection of interconnected issues > while looking at callbacks in the distributed domain (TUSCANY-3932). > While we've done plenty of testing of this feature in the single node > domain it's not had much exercise in the distributed domain. This is a > little involved so bear with me. > > When we detect that a reference is described by an interface with a > callback we fluff up a service endpoint, at the component with the > reference, in order to receive any callbacks. This endpoint is added > to the registry like any other endpoint is and it's indistinguishable > from any other endpoint (I think). For a wire where no callback > binding is configured at the service or reference we assume that the > callback adopts the binding from the forward wire. When binding.sca is > used we delegate to a suitable remote binding in the distributed > domain case. However we need to ensure that both the forward and > callback endpoints can come up successfully on different nodes but > potentially in the same JVM. > > Issue 1: To allow this to happen we have to be able to configure the > default binding with a base URI as we do with any other binding. >
A lot of the these other issues follow on from this issue so I'd like to understand if this is really the case, so could you explain what you mean in more detail, perhaps showing some message flows to illustrate? I'm asking because isn't the point of binding.sca that it doesn't need a base or absolute URI it just has the service structural URI, and its down to the runtime infrastructure to use that uri to work out how to find the service. I'm wondering if it might be better to have the runtime able to find the base uri for remote nodes and use that with the service structural uri might be a better approach and that if we use an absolute URI then we might lose flexibility in a dynamic environment. i think thats how the hazelcast sca binding was intended to work, i know you said it didn't work with callbacks but that was just due to the callback headers not being flowed and if that was fixed it would have worked ok wouldn't it? ...ant
