You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Ron Gavlin (JIRA)" <ji...@apache.org> on 2008/11/17 17:38:05 UTC

[jira] Updated: (SM-1686) smx-camel errorHandler w/handleFault="true" should consistently throw JBIFaultException and not CamelException when mep is robust-in-only

     [ https://issues.apache.org/activemq/browse/SM-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ron Gavlin updated SM-1686:
---------------------------

    Description: 
See SM-1673 for test case that exposes the problem. Specifically, notice the extract below from file  servicemix-camel/src/test/resources/org/apache/servicemix/camel/su9-src/camel-context.xml. The in-only message exchange fault is caught with exception org.apache.servicemix.jbi.FaultException while the robust-in-only message exchange fault is caught with exception org.apache.camel.CamelException. It would seem to make more sense for the same org.apache.servicemix.jbi.FaultException to be used in both cases.

/Ron


  <camelContext  xmlns="http://activemq.apache.org/camel/schema/spring">
    <route errorHandlerRef="deadLetterErrorHandler">
      <from uri="jbi:service:urn:test:fault-handled-true"/>
      <onException>
        <!-- Catch exception from in-only message exchange -->
        <exception>org.apache.servicemix.jbi.FaultException</exception>
        <redeliveryPolicy maximumRedeliveries="0"/>
        <handled>
          <constant>true</constant>
        </handled>
        <to uri="jbi:service:urn:test:receiver-service"/>
      </onException>
      <onException>
        <!-- Catch exception from robust-in-only message exchange -->
        <exception>org.apache.camel.CamelException</exception>
        <redeliveryPolicy maximumRedeliveries="0"/>
        <handled>
          <constant>true</constant>
        </handled>
        <to uri="jbi:service:urn:test:receiver-service"/>
      </onException>
      <interceptor ref="handleFaultProcessor">
        <to uri="jbi:service:urn:test:faulty-service"/>
      </interceptor>
    </route>
  </camelContext>


  was:See SM-1673 for test case that exposes the problem. It appears the problem might be between smx-camel and the camel HandleFaultProcessor.


Provided more detail in problem description.

> smx-camel errorHandler w/handleFault="true" should consistently throw JBIFaultException and not CamelException when mep is robust-in-only
> -----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SM-1686
>                 URL: https://issues.apache.org/activemq/browse/SM-1686
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-camel
>    Affects Versions: servicemix-camel-2008.01
>            Reporter: Ron Gavlin
>
> See SM-1673 for test case that exposes the problem. Specifically, notice the extract below from file  servicemix-camel/src/test/resources/org/apache/servicemix/camel/su9-src/camel-context.xml. The in-only message exchange fault is caught with exception org.apache.servicemix.jbi.FaultException while the robust-in-only message exchange fault is caught with exception org.apache.camel.CamelException. It would seem to make more sense for the same org.apache.servicemix.jbi.FaultException to be used in both cases.
> /Ron
>   <camelContext  xmlns="http://activemq.apache.org/camel/schema/spring">
>     <route errorHandlerRef="deadLetterErrorHandler">
>       <from uri="jbi:service:urn:test:fault-handled-true"/>
>       <onException>
>         <!-- Catch exception from in-only message exchange -->
>         <exception>org.apache.servicemix.jbi.FaultException</exception>
>         <redeliveryPolicy maximumRedeliveries="0"/>
>         <handled>
>           <constant>true</constant>
>         </handled>
>         <to uri="jbi:service:urn:test:receiver-service"/>
>       </onException>
>       <onException>
>         <!-- Catch exception from robust-in-only message exchange -->
>         <exception>org.apache.camel.CamelException</exception>
>         <redeliveryPolicy maximumRedeliveries="0"/>
>         <handled>
>           <constant>true</constant>
>         </handled>
>         <to uri="jbi:service:urn:test:receiver-service"/>
>       </onException>
>       <interceptor ref="handleFaultProcessor">
>         <to uri="jbi:service:urn:test:faulty-service"/>
>       </interceptor>
>     </route>
>   </camelContext>

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