You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Gert Vanthienen (JIRA)" <ji...@apache.org> on 2010/10/25 12:39:40 UTC

[jira] Created: (SMXCOMP-816) Only use Fault message in JBI if the Camel out message has the fault flag set

Only use Fault message in JBI if the Camel out message has the fault flag set
-----------------------------------------------------------------------------

                 Key: SMXCOMP-816
                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-816
             Project: ServiceMix Components
          Issue Type: Bug
          Components: servicemix-camel
    Affects Versions: servicemix-camel-2010.01
            Reporter: Gert Vanthienen
            Assignee: Gert Vanthienen
             Fix For: servicemix-camel-2010.02


The Camel API no longer has a dedicated Fault message, instead it uses the Out message with a flag set on it to indicate it's a fault.  We should take that into account when replying to the JBI MessageExchange in case of a failure. 

Our current implementation is broken when a route returns an Out message (non-fault) *and* throws an Exception as well, e.g. breaking a route like 
{code:java}
from("direct:test")
     .doTry()
          .to("log:Starting JBI Test")
          .to("jbi:endpoint:urn:testcase:testing?mep=in-out")
     .doCatch(SerialException.class)
          .to("log:Caught Serial exception")
     .end();

from("jbi:endpoint:urn:testcase:testing?mep=in-out")
     .errorHandler(noErrorHandler())
     .to("log:about to throw exception?level=ERROR")
     .throwException(new SerialException("Test"));
{code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (SMXCOMP-816) Only use Fault message in JBI if the Camel out message has the fault flag set

Posted by "Gert Vanthienen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SMXCOMP-816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gert Vanthienen resolved SMXCOMP-816.
-------------------------------------

    Resolution: Fixed

Fixed in http://svn.apache.org/viewvc?view=revision&revision=1027034
Thanks to Steve and Björn for reporting the issue in http://servicemix.396122.n5.nabble.com/JBI-Exception-Propagation-Advice-td3211854.html#a3219106

> Only use Fault message in JBI if the Camel out message has the fault flag set
> -----------------------------------------------------------------------------
>
>                 Key: SMXCOMP-816
>                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-816
>             Project: ServiceMix Components
>          Issue Type: Bug
>          Components: servicemix-camel
>    Affects Versions: servicemix-camel-2010.01
>            Reporter: Gert Vanthienen
>            Assignee: Gert Vanthienen
>             Fix For: servicemix-camel-2010.02
>
>
> The Camel API no longer has a dedicated Fault message, instead it uses the Out message with a flag set on it to indicate it's a fault.  We should take that into account when replying to the JBI MessageExchange in case of a failure. 
> Our current implementation is broken when a route returns an Out message (non-fault) *and* throws an Exception as well, e.g. breaking a route like 
> {code:java}
> from("direct:test")
>      .doTry()
>           .to("log:Starting JBI Test")
>           .to("jbi:endpoint:urn:testcase:testing?mep=in-out")
>      .doCatch(SerialException.class)
>           .to("log:Caught Serial exception")
>      .end();
> from("jbi:endpoint:urn:testcase:testing?mep=in-out")
>      .errorHandler(noErrorHandler())
>      .to("log:about to throw exception?level=ERROR")
>      .throwException(new SerialException("Test"));
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.