How about adding a new ExceptionHandler interface and deprecating the old one. We can then allow both in Camel 2.x and remove the old one in Camel 3. This way we do niot introduce an incompatibility and give people some time to switch.

Downside is that it requires some additional code in 2.x and the question is of course how to name the new interface.

Christian

Am 10.09.2012 12:56, schrieb Claus Ibsen:
Hi

See ticket, and if you got the time the nabble link
https://issues.apache.org/jira/browse/CAMEL-5587

The API on org.apache.camel.spi.ExceptionHandler has 3 methods for
handling exceptions,

CAMEL-5587 is a ticket to enhance that API with a new parameter that
has the source that called the handler.
This allows end users to know the source, and get additional details,
such as if it was from a consumer, which consumer
and the endpoint etc.

This is needed when you for example have a custom exception handler
and use it for many Camel endpoints (routes etc).

Mind this only affects either
- component writers if using this API
- end users if using a custom exception handler.
Both of these cases is not often used.



As this API is not backwards compatible we could
a) wait for Camel 3.0
b) introduce the change
c) introduce the change, but add the 3 old methods to
org.apache.camel.spi.ExceptionHandler and mark the as @deprecated

Ad a)
We can wait a long time then.

Ad b)
This requires older components to be recompiled to support newer Camel
releases (if the component uses the API directly).

Ad c)
This allows older components to be compatible with newer Camel
releases (if the component uses the API directly).







--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
Talend Application Integration Division http://www.talend.com

Reply via email to