Change binding dispatch code to eliminate redundant object creations
--------------------------------------------------------------------

                 Key: TUSCANY-1706
                 URL: https://issues.apache.org/jira/browse/TUSCANY-1706
             Project: Tuscany
          Issue Type: Bug
          Components: Java SCA Axis Binding Extension, Java SCA Core Runtime
    Affects Versions: Java-SCA-1.0
         Environment: All
            Reporter: Simon Nash
            Assignee: Simon Nash
             Fix For: Java-SCA-1.0


The Axis2 service binding dispatch code creates a cloned runtime wire to pass 
the callback endpoint, callback ID, and conversation ID.  This creates new 
RuntimeWireImpl, RuntimeWireInvoker, and Message objects for every dispatch.

A small change to the SPI interface will eliminate the need to create the 
RuntimeWireImpl and RuntimeWireInvoker objects.  The binding extension dispatch 
code can create a Message object and store the callback endpoint, callback ID, 
and conversation ID in this object.  Instead of the bindng extension dispatch 
code calling
   wire.invoke(op, args)
on the cloned wire, the args can be set into the body of the Message object 
along with the other information and the binding dispatch code can call
   wire.invoke(op, msg)
on the uncloned wire.  A method with this signature would also be added to 
RuntimeWireInvoker and called as a "pass through".

The dispatch code in RuntimeWireInvoker can use the Message object that was 
passed in instead of creating a new one and populating it from the cloned 
RuntimeWire.

This needs to be done for 1.0 as it changes the contract between the binding 
extension code and the core runtime.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to