[
https://issues.apache.org/activemq/browse/SM-1667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=48576#action_48576
]
Guillaume Nodet commented on SM-1667:
-------------------------------------
I think the behavior is specified in the spec, though not very explicitely.
Section 5.4.2 of the JBI spec says:
{code}
Each pattern ends with a status exchange; this is necessary to
deterministically complete the exchange.
{code}
Status exchanges include ERROR and DONE status.
Also, section 5.5.2.3.1 states:
{code}
A new ME instance is ACTIVE, and remains so until the end of its life cycle,
when it transitions to either a DONE or ERROR state.
{code}
Section 5.5.5.1 also gives an example of an InOnly MEP terminated with an ERROR
status.
So the ERROR state on the InOnly MEP is not a ServiceMix extension to the spec.
In addition, the DONE / ERROR statuses are required to be able to use
sendSync, which as Ron said, must not change the semantic of the MEP.
> 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.