You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "ant elder (Closed) (JIRA)" <de...@tuscany.apache.org> on 2011/11/03 15:29:32 UTC

[jira] [Closed] (TUSCANY-3970) Improve error handling in TransportServiceInterceptor.invoke()

     [ https://issues.apache.org/jira/browse/TUSCANY-3970?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ant elder closed TUSCANY-3970.
------------------------------

    Resolution: Fixed

Done as suggested
                
> Improve error handling in TransportServiceInterceptor.invoke()
> --------------------------------------------------------------
>
>                 Key: TUSCANY-3970
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3970
>             Project: Tuscany
>          Issue Type: Bug
>          Components: SCA Java Runtime
>    Affects Versions: Java-SCA-2.x
>            Reporter: Jennifer A Thompson
>             Fix For: Java-SCA-2.x
>
>
> In the TransportServiceInterceptor,invoke method, in the first catch block (corresponding to calling invokeResponse), if there is an error or runtime exception, this should be re-thrown. This allows transacted messages to be rolled back.
> Also, in the finally block, a new try/catch block should be added around  "((JMSBindingContext)msg.getBindingContext()).closeJmsResponseSession();", so if an error is thrown the resource factory can be used to close the connection:
>                 try {
>                     ((JMSBindingContext)msg.getBindingContext()).closeJmsResponseSession();
>                 } catch (Throwable t) {
>                 }
>                 // Use the resource factory in the binding context to close the response connection,
>                 // to ensure we use same resource factory used to close response session.
>                 JMSResourceFactory rf = ((JMSBindingContext)msg.getBindingContext()).getJmsResourceFactory();
>                 if (rf.isConnectionClosedAfterUse())
>                     rf.closeResponseConnection(); 

--
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