activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Strachan" <>
Subject [Camel] using error handlers...
Date Wed, 21 Mar 2007 15:13:30 GMT
I've added a few more items to our Enterprise Integration Patterns page...

in particular I've added support for Dead Letter Channel

I reused the RedeliveryPolicy class from ActiveMQ so we can configure
redelivery counts, exponential backoffs, collision avoidence and so

I've enabled this by default (as it makes the most sense to always be
able to retry on errors and if not send to a dead letter channel). Its
pretty easy to override the default ErrorHandlerBuilder on the
builders; this error handler is then inherited in child builders. So
you could specify an error handler for all routes, or overload just
for a specific step etc

Its described here:

Right now each Processor in the tree gets wrapped in an error handler
(unless you explicitly set the NoErrorHandler) and I've made the Dead
Letter Channel the default out of the box.

Does this sound reasonable to folks? e.g. if a filter works, but the
child processor fails, only that child processor will currently be

So it kinda depends on what the user is doing at which level in the
tree of processors as to how much or little we should; am wondering if
we should just have a dead letter handler on the root (which works
best for transactional resources) then none on the branches or leaves.

Maybe we could be more clever with the default; say for transactional
clients, we only use an error handler in the root and bubble up all
other exceptions so the entire thing is restarted; for
non-transactional clients we use an error handler at each layer in the

Can anyone think of better defaults - or are these defaults confusing?



View raw message