You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Simon Nash (JIRA)" <tu...@ws.apache.org> on 2007/09/14 18:51:32 UTC

[jira] Created: (TUSCANY-1706) Change binding dispatch code to eliminate redundant object creations

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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


[jira] Assigned: (TUSCANY-1706) Change binding dispatch code to eliminate redundant object creations

Posted by "Raymond Feng (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Raymond Feng reassigned TUSCANY-1706:
-------------------------------------

    Assignee: Raymond Feng  (was: Simon Nash)

> 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: Raymond Feng
>             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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


[jira] Resolved: (TUSCANY-1706) Change binding dispatch code to eliminate redundant object creations

Posted by "Raymond Feng (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Raymond Feng resolved TUSCANY-1706.
-----------------------------------

    Resolution: Fixed

Patch applied under r576055. Thanks.

> 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: Raymond Feng
>             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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


[jira] Commented: (TUSCANY-1706) Change binding dispatch code to eliminate redundant object creations

Posted by "Simon Nash (JIRA)" <tu...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/TUSCANY-1706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12527800 ] 

Simon Nash commented on TUSCANY-1706:
-------------------------------------

I have attached a patch to TUSCANY-1705 that also resolves the issue reported  in TUSCANY-1706.  When the patch has been applied, both TUSCANY-1705 and TUSCANY-1706 can be closed.

> 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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org