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]