[mule-jira] Created: (MULE-4597) Improve logic deciding whether to invoke connector vs service exception strategy, so it's more deterministic

View: New views
5 Messages — Rating Filter:   Alert me  

[mule-jira] Created: (MULE-4597) Improve logic deciding whether to invoke connector vs service exception strategy, so it's more deterministic

by JIRA no-reply@mulesource.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Improve logic deciding whether to invoke connector vs service exception strategy, so it's more deterministic
------------------------------------------------------------------------------------------------------------

                 Key: MULE-4597
                 URL: http://www.mulesource.org/jira/browse/MULE-4597
             Project: Mule
          Issue Type: Improvement
          Components: Core: Exception Handling
    Affects Versions: 3.0.0-M1
            Reporter: Andrew Perepelytsya


*Problem:* Having declared both transport and business-level (custom) transformers on the endpoint, it's not always clear whether service or connector exception strategy would be invoked in case of a failure for such mixed set.
*Solution:* Exception handling code can be made smarter:
* Transport transformers can implement a marker interface like HandleByConnectorExceptionStrategy
* Custom transformers will not change, and by convention will be considered for handling by a service exception strategy
* applyAllTransformers() catch block will dig into TransformerException to see which transformer exactly caused an issue (probably all info is already there, otherwise just pass in 'this' ref from transformer when throwing exception).
* Next, either connector.handleException() or service.handleException() should be invoked

There could be cases when more customization would be needed, but this is the first step to make it possible later.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://www.mulesource.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



[mule-jira] Commented: (MULE-4597) Improve logic deciding whether to invoke connector vs service exception strategy, so it's more deterministic

by JIRA no-reply@mulesource.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ http://www.mulesource.org/jira/browse/MULE-4597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=32297#action_32297 ]

Dirk Olmes commented on MULE-4597:
----------------------------------

If an exception is thrown, do we actually have access to the transformer that produced it? Otherwise, the whole machinery is pointless.

> Improve logic deciding whether to invoke connector vs service exception strategy, so it's more deterministic
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: MULE-4597
>                 URL: http://www.mulesource.org/jira/browse/MULE-4597
>             Project: Mule
>          Issue Type: Improvement
>          Components: Core: Exception Handling
>    Affects Versions: 3.0.0-M1
>            Reporter: Andrew Perepelytsya
>            Priority: Critical
>
> *Problem:* Having declared both transport and business-level (custom) transformers on the endpoint, it's not always clear whether service or connector exception strategy would be invoked in case of a failure for such mixed set.
> *Solution:* Exception handling code can be made smarter:
> * Transport transformers can implement a marker interface like HandleByConnectorExceptionStrategy
> * Custom transformers will not change, and by convention will be considered for handling by a service exception strategy
> * applyAllTransformers() catch block will dig into TransformerException to see which transformer exactly caused an issue (probably all info is already there, otherwise just pass in 'this' ref from transformer when throwing exception).
> * Next, either connector.handleException() or service.handleException() should be invoked
> There could be cases when more customization would be needed, but this is the first step to make it possible later.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://www.mulesource.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



[mule-jira] Commented: (MULE-4597) Improve logic deciding whether to invoke connector vs service exception strategy, so it's more deterministic

by JIRA no-reply@mulesource.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ http://www.mulesource.org/jira/browse/MULE-4597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=32296#action_32296 ]

Dirk Olmes commented on MULE-4597:
----------------------------------

Instead of the marker interface I'd rather add a method (like {{exceptionsAreHandledByConnector}} to the {{Transformer}} interface. Less interfaces, same effect.

> Improve logic deciding whether to invoke connector vs service exception strategy, so it's more deterministic
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: MULE-4597
>                 URL: http://www.mulesource.org/jira/browse/MULE-4597
>             Project: Mule
>          Issue Type: Improvement
>          Components: Core: Exception Handling
>    Affects Versions: 3.0.0-M1
>            Reporter: Andrew Perepelytsya
>            Priority: Critical
>
> *Problem:* Having declared both transport and business-level (custom) transformers on the endpoint, it's not always clear whether service or connector exception strategy would be invoked in case of a failure for such mixed set.
> *Solution:* Exception handling code can be made smarter:
> * Transport transformers can implement a marker interface like HandleByConnectorExceptionStrategy
> * Custom transformers will not change, and by convention will be considered for handling by a service exception strategy
> * applyAllTransformers() catch block will dig into TransformerException to see which transformer exactly caused an issue (probably all info is already there, otherwise just pass in 'this' ref from transformer when throwing exception).
> * Next, either connector.handleException() or service.handleException() should be invoked
> There could be cases when more customization would be needed, but this is the first step to make it possible later.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://www.mulesource.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



[mule-jira] Issue Comment Edited: (MULE-4597) Improve logic deciding whether to invoke connector vs service exception strategy, so it's more deterministic

by JIRA no-reply@mulesource.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ http://www.mulesource.org/jira/browse/MULE-4597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=32296#action_32296 ]

Dirk Olmes edited comment on MULE-4597 at 11/5/09 7:46 PM:
-----------------------------------------------------------

Instead of the marker interface I'd rather add a method (like {{exceptionsAreHandledByConnector}}) to the {{Transformer}} interface. Less interfaces, same effect.

      was (Author: dirk):
    Instead of the marker interface I'd rather add a method (like {{exceptionsAreHandledByConnector}} to the {{Transformer}} interface. Less interfaces, same effect.
 

> Improve logic deciding whether to invoke connector vs service exception strategy, so it's more deterministic
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: MULE-4597
>                 URL: http://www.mulesource.org/jira/browse/MULE-4597
>             Project: Mule
>          Issue Type: Improvement
>          Components: Core: Exception Handling
>    Affects Versions: 3.0.0-M1
>            Reporter: Andrew Perepelytsya
>            Priority: Critical
>
> *Problem:* Having declared both transport and business-level (custom) transformers on the endpoint, it's not always clear whether service or connector exception strategy would be invoked in case of a failure for such mixed set.
> *Solution:* Exception handling code can be made smarter:
> * Transport transformers can implement a marker interface like HandleByConnectorExceptionStrategy
> * Custom transformers will not change, and by convention will be considered for handling by a service exception strategy
> * applyAllTransformers() catch block will dig into TransformerException to see which transformer exactly caused an issue (probably all info is already there, otherwise just pass in 'this' ref from transformer when throwing exception).
> * Next, either connector.handleException() or service.handleException() should be invoked
> There could be cases when more customization would be needed, but this is the first step to make it possible later.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://www.mulesource.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



[mule-jira] Commented: (MULE-4597) Improve logic deciding whether to invoke connector vs service exception strategy, so it's more deterministic

by JIRA no-reply@mulesource.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ http://www.mulesource.org/jira/browse/MULE-4597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=32303#action_32303 ]

Andrew Perepelytsya commented on MULE-4597:
-------------------------------------------

Exceptions are wrapped in a transformer exception, which has access to the original transformer

> Improve logic deciding whether to invoke connector vs service exception strategy, so it's more deterministic
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: MULE-4597
>                 URL: http://www.mulesource.org/jira/browse/MULE-4597
>             Project: Mule
>          Issue Type: Improvement
>          Components: Core: Exception Handling
>    Affects Versions: 3.0.0-M1
>            Reporter: Andrew Perepelytsya
>            Priority: Critical
>
> *Problem:* Having declared both transport and business-level (custom) transformers on the endpoint, it's not always clear whether service or connector exception strategy would be invoked in case of a failure for such mixed set.
> *Solution:* Exception handling code can be made smarter:
> * Transport transformers can implement a marker interface like HandleByConnectorExceptionStrategy
> * Custom transformers will not change, and by convention will be considered for handling by a service exception strategy
> * applyAllTransformers() catch block will dig into TransformerException to see which transformer exactly caused an issue (probably all info is already there, otherwise just pass in 'this' ref from transformer when throwing exception).
> * Next, either connector.handleException() or service.handleException() should be invoked
> There could be cases when more customization would be needed, but this is the first step to make it possible later.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://www.mulesource.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email