JIRA

  • Log In Access more options
    • Online Help
    • GreenHopper Help
    • Agile Answers
    • Use Agile By Default
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What’s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Agile Access more options (Alt+g)
  • Create Issue
  • Mule
  • MULE-4597

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

  • Agile Board
  • More Actions
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Improvement Improvement
  • Status: Closed Closed
  • Priority: Critical Critical
  • Resolution: Fixed
  • Affects Version/s: 3.0.0-M1, 3.0.0-M4
  • Fix Version/s: 3.0.0
  • Component/s: Core: Exception Handling
  • Labels:
    None
  • User impact:
    High
  • Affects Docs:
    Yes
  • Similar Issues:
    None

Description

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.

Issue Links

is duplicated by

Improvement - An improvement or enhancement to an existing feature or task. MULE-3973 Better define reach of service vs. connector exception handling and exception handling and review/update implementation

  • Major - Major loss of function.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.
relates to

Bug - A problem which impairs or prevents the functions of the product. MULE-3607 Outbound endpoints transformer exceptions invoke wrong Exception handlers.

  • Critical - Crashes, loss of data, severe memory leak.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.

Activity

  • All
  • Comments
  • Work Log
  • History
  • Activity
  • Transitions
  • Commits
  • Source
  • Builds

People

  • Assignee:
    Travis Carlson
    Reporter:
    Andrew Perepelytsya
Vote (0)
Watch (1)

Dates

  • Created:
    05/Nov/09 09:13 AM
    Updated:
    06/Dec/10 08:27 AM
    Resolved:
    06/Dec/10 08:26 AM

Agile

  • View on Board
  • Atlassian JIRA (v5.0.7#734-sha1:8ad78a6)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for MuleForge. Try JIRA - bug tracking software for your team.