Callback binding gets overriden and other issues
------------------------------------------------

                 Key: TUSCANY-4011
                 URL: https://issues.apache.org/jira/browse/TUSCANY-4011
             Project: Tuscany
          Issue Type: Bug
          Components: SCA Java Runtime
    Affects Versions: Java-SCA-2.0-Beta3
         Environment: All
            Reporter: Simon Laws
             Fix For: Java-SCA-2.0


I've noticed that any callback binding configuration provided in the SCDL is 
not present when the binding is used. It's because the binding is overridden by 
the callback endpoint created by the service binding. 

Only the URI is required so we can take this out of the binding created by the 
service binding and set it on the callback binding.

In trying to work out what was going on here I noticed a couple of other things 
that I'd like to improve:

- The code here is complicated by the thought that a single 
CallbackServiceReference might be used to contact multiple callback endpoints. 
This is no longer the case. For STATELESS components a new set of callback 
proxies (and hence CallbackServiceReference) is created for each new incoming 
message, because that's what happens with STATELESS components. For COMPOSITE 
components a new callback proxy is created for each call through the 
RequestContext object. Hence there is always a new CallbackServiceReference 
instance for each incoming call and related callback target. I believe the 
current complexity can be removed so that the CallbackServiceReference only 
every refers to one callback endpoint

- There is an opportunity for further optimization if a binding is prepared to 
be responsible for resetting it's reference target address in the callback 
case. For example, if we provide a field in the forward message where a service 
binding can place the callback URI then we can remove the EPR clone in the 
CallbackServiceReference and have the callback reference binding take the 
target address out of the callback message. This need a bit of thought so I'll 
open a separate JIRA for it when I get to looking at it. 



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to