[
https://issues.apache.org/activemq/browse/SMXCOMP-570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52274#action_52274
]
Trevor Pounds commented on SMXCOMP-570:
---------------------------------------
I would also like to note that this patch provides generic functionality for
all provider endpoints so long as they do not override the process() method on
the ProviderEndpoint base class. The classes that do this should be add an
additional try/catch block that handles the exception using the super classes
handleException() method as it is done for the EIP endpoint in the attached
patch. It may be beneficial to refactor the ProviderEndpoint interface to not
allow classes to override this method and instead provide hooks to handle
different MEPs from within the base class.
> Allow exceptions to be handled as JBI faults
> --------------------------------------------
>
> Key: SMXCOMP-570
> URL: https://issues.apache.org/activemq/browse/SMXCOMP-570
> Project: ServiceMix Components
> Issue Type: New Feature
> Components: servicemix-common
> Reporter: Trevor Pounds
> Attachments: SMXCOMP-125.diff
>
>
> When an exception is thrown in a provider endpoint impl it is handled as a
> JBI error in most cases. Howeverm in some cases (i.e. SAXParseException) it
> may be useful to translate these exceptions into a JBI fault message which
> can then be handled by the exchange if needed. I've provided a simple patch
> to the base ProviderEndpoint class to provide setting exceptiosn that will be
> handled as JBI faults.
> The following are a few examples of how the xbean.xml can be configured to
> handle exceptions:
> {code:xml}
> <saxon:xslt
> service="example:myService"
> endpoint="myXSLT"
> resource="classpath:myDocument.xsl"
> handleExceptionsAsFault="java.lang.Exception"/>
> <eip:message-filter
> service="example:myService"
> endpoint="myEIP"
> handleExceptionsAsFault="java.lang.Exception">
> <eip:target>
> <eip:exchange-target service="canonical:mte-pipeline" endpoint=""/>
> </eip:target>
> <eip:filter>
> <eip:xpath-predicate xpath="not(/FOO or /BAR)"
> namespaceContext="#nsContext"/>
> </eip:filter>
> </eip:message-filter>
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.