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