You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by rgavlin <rg...@yahoo.com> on 2009/02/06 13:24:54 UTC

JMS in-out provider timeout - fault vs. error

I have a flow jms:consumer -> camel:errorHandler ->(robust-in-only)->
eip:pipeline(jms:provider transformer) -> file:sender. 

When the in-out jms:provider times out, it returns a JBI Error with an
IllegalStateException. This is a "somewhat" expected condition in our
environment which we catch and retry with an smx-camel errorHandler. We
would like the smx-jms:provider to return a JBI Fault instead of an Error in
this circumstance so that the SMX Log remains clean and only includes Errors
when true Error Conditions occur. If we are successful on say a third
errorhandler-initiated retry, we don't want errors appearing in the logs for
the first two unsuccessful attempts. 

Does it make sense to have JBI Faults represent retryable "checked
exceptions" and Errors represent more non-retryable "runtime exceptions". In
this case, JBI Faults would only appear as Errors in the SMX logs if
"in-only" rather than "robust-in-only" MEPs were used. Does that make sense?
Do you have any thoughts? 

/Ron
-- 
View this message in context: http://www.nabble.com/JMS-in-out-provider-timeout---fault-vs.-error-tp21871482p21871482.html
Sent from the ServiceMix - Dev mailing list archive at Nabble.com.


Re: JMS in-out provider timeout - fault vs. error

Posted by rgavlin <rg...@yahoo.com>.
Maybe we only selectively replace errors with faults. In this particular
case, would it be reasonable to represent a in-out provider "timeout" as a
fault? Then, unless a robust-in-only mep is used, this fault normally gets
converted into an error anyway. 

/Ron



gnodet wrote:
> 
> I think I understand your point of view, but I'm not sure if it would
> be a good idea to swallow all errors and replace them by faults.
> Could that be done using a specific marshaler ?
> 
> On Fri, Feb 6, 2009 at 13:24, rgavlin <rg...@yahoo.com> wrote:
>>
>> I have a flow jms:consumer -> camel:errorHandler ->(robust-in-only)->
>> eip:pipeline(jms:provider transformer) -> file:sender.
>>
>> When the in-out jms:provider times out, it returns a JBI Error with an
>> IllegalStateException. This is a "somewhat" expected condition in our
>> environment which we catch and retry with an smx-camel errorHandler. We
>> would like the smx-jms:provider to return a JBI Fault instead of an Error
>> in
>> this circumstance so that the SMX Log remains clean and only includes
>> Errors
>> when true Error Conditions occur. If we are successful on say a third
>> errorhandler-initiated retry, we don't want errors appearing in the logs
>> for
>> the first two unsuccessful attempts.
>>
>> Does it make sense to have JBI Faults represent retryable "checked
>> exceptions" and Errors represent more non-retryable "runtime exceptions".
>> In
>> this case, JBI Faults would only appear as Errors in the SMX logs if
>> "in-only" rather than "robust-in-only" MEPs were used. Does that make
>> sense?
>> Do you have any thoughts?
>>
>> /Ron
>> --
>> View this message in context:
>> http://www.nabble.com/JMS-in-out-provider-timeout---fault-vs.-error-tp21871482p21871482.html
>> Sent from the ServiceMix - Dev mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://fusesource.com
> 
> 

-- 
View this message in context: http://www.nabble.com/JMS-in-out-provider-timeout---fault-vs.-error-tp21871482p21919639.html
Sent from the ServiceMix - Dev mailing list archive at Nabble.com.


Re: JMS in-out provider timeout - fault vs. error

Posted by Guillaume Nodet <gn...@gmail.com>.
I think I understand your point of view, but I'm not sure if it would
be a good idea to swallow all errors and replace them by faults.
Could that be done using a specific marshaler ?

On Fri, Feb 6, 2009 at 13:24, rgavlin <rg...@yahoo.com> wrote:
>
> I have a flow jms:consumer -> camel:errorHandler ->(robust-in-only)->
> eip:pipeline(jms:provider transformer) -> file:sender.
>
> When the in-out jms:provider times out, it returns a JBI Error with an
> IllegalStateException. This is a "somewhat" expected condition in our
> environment which we catch and retry with an smx-camel errorHandler. We
> would like the smx-jms:provider to return a JBI Fault instead of an Error in
> this circumstance so that the SMX Log remains clean and only includes Errors
> when true Error Conditions occur. If we are successful on say a third
> errorhandler-initiated retry, we don't want errors appearing in the logs for
> the first two unsuccessful attempts.
>
> Does it make sense to have JBI Faults represent retryable "checked
> exceptions" and Errors represent more non-retryable "runtime exceptions". In
> this case, JBI Faults would only appear as Errors in the SMX logs if
> "in-only" rather than "robust-in-only" MEPs were used. Does that make sense?
> Do you have any thoughts?
>
> /Ron
> --
> View this message in context: http://www.nabble.com/JMS-in-out-provider-timeout---fault-vs.-error-tp21871482p21871482.html
> Sent from the ServiceMix - Dev mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com