Hi

Yes something a long the way proposed by Dan is likely to be a
suitable solution.

Been busy with other stuff lately. Also this is not a must heave
feature. But would be nice to have the source so people would know
where the problem came from.


On Mon, Sep 10, 2012 at 3:47 PM, Daniel Kulp <dk...@apache.org> wrote:
>
> What about a:
>
> public interface SourceAwareExceptionHandler extends ExceptionHandler {
>   …add three methods….
> }
>
> Thus, no "old" code needs to change at all unless they want to use the new 
> methods.   They would need an instanceof if they do want to use the new 
> methods.
>
> HOWEVER, we could also do an instanceof during the addExceptionHandler and 
> wrapper any non-SourceAwareExceptionHandler handler with an instance that 
> would forward all the methods to the old methods (dropping the source).   
> Thus, all calls to getExceptionHandler would be given a SourceAware version.
>
> Dan
>
>
>
> On Sep 10, 2012, at 6:56 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>
>> 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).
>>
>>
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> FuseSource
>> Email: cib...@fusesource.com
>> Web: http://fusesource.com
>> Twitter: davsclaus, fusenews
>> Blog: http://davsclaus.com
>> Author of Camel in Action: http://www.manning.com/ibsen
>
> --
> Daniel Kulp
> dk...@apache.org - http://dankulp.com/blog
> Talend Community Coder - http://coders.talend.com
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Reply via email to