[
https://issues.apache.org/activemq/browse/SM-1667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=48586#action_48586
]
Guillaume Nodet commented on SM-1667:
-------------------------------------
I do understand your use case, but I still disagree. Let's take your example
and say that endpoint A is a jms transacted consumer. If it does not receive
the propagated error, it will commit the transaction. But if it receives an
error, it will be able to rollback the transaction and the same message will be
processed later by virtue of the redelivery mechanism in jms.
I think in your use feature, you need to intercept the exchange before it
reaches B and act there, else, there are chances that endpoints earlier in the
flow may be a bit screwed. Another example: if A is a file poller endpoint, it
may move the file to a different location after processing whether is has been
successfully processed or if the processing failed. So this needs to be done
after the actually know the result. Hence i think you'd have to intercept the
exchange in error between B and C and do something there.
> TransformBeanSupport does not correctly report errors for in-only exchanges
> ---------------------------------------------------------------------------
>
> Key: SM-1667
> URL: https://issues.apache.org/activemq/browse/SM-1667
> Project: ServiceMix
> Issue Type: Bug
> Components: servicemix-bean
> Affects Versions: servicemix-bean-2008.01
> Reporter: Ron Gavlin
> Assignee: Guillaume Nodet
> Priority: Critical
> Fix For: servicemix-bean-2008.02, 3.2.4
>
> Attachments: sm-1667-inout-regression.patch
>
>
> The smx-bean TransformBeanSupport class does not correctly report errors for
> in-only exchanges. If the target exchange status is ERROR, the source
> exchange status is still returned as DONE. This should be fixed for both sync
> and async use cases.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.