But isn't it the same with the Synchronization approach? In all cases,
special caution is required when the Async Routing Engine kicks in, or when
threadpool-based EIPs are involved. I mentioned it in my first reply.

Regards,
Raúl.

On Thu, Mar 28, 2013 at 11:25 AM, Claus Ibsen <[email protected]> wrote:

> On Thu, Mar 28, 2013 at 9:36 AM, Raul Kripalani <[email protected]> wrote:
> > With this technique, developers  have to remember to add the custom
> > processor at the start of each route. (Unless it's set from an
> > interceptor...).
> >
> > Since the user explicitly asked for a non intrusive technique,
> > EventNotifier is the only method that fulfills that requirement. Set once
> > per Camel context and forget about it.
> >
> > And it's higher level, not fiddling with internal APIs.
> >
>
> That would only work if its the same thread that calls the listener at
> exchange created and exchange done events. As he need to use that same
> thread for clearing his thread locals.
>
>
>
> > Just my 2 cents.
> >
> > Regards,
> > Raúl.
> >  On 28 Mar 2013 06:11, "Claus Ibsen" <[email protected]> wrote:
> >
> >> On Wed, Mar 27, 2013 at 10:02 PM, Christian Müller
> >> <[email protected]> wrote:
> >> > Isn't it called in a separate thread, isn't it?
> >> >
> >>
> >> Ah yeah, then use this as base class
> >>
> >>
> http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/support/SynchronizationAdapter.html
> >>
> >> And return false from the allowHandover method
> >> Then its done on the same thread.
> >>
> >>
> >> > Sent from a mobile device
> >> > Am 27.03.2013 08:14 schrieb "Claus Ibsen" <[email protected]>:
> >> >
> >> >> You can use this method on the Exchange
> >> >>
> >> >>
> >> >>
> >>
> http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Exchange.html#addOnCompletion(org.apache.camel.spi.Synchronization)
> >> >>
> >> >>
> >> >> On Tue, Mar 26, 2013 at 2:13 PM, davelund <[email protected]>
> >> wrote:
> >> >> > We are currently using ThreadLocal to store some information that
> gets
> >> >> > included in a log4j converter (and is used in other projects that
> dont
> >> >> have
> >> >> > camel in). Is there a callback I can use that for all routes in my
> >> >> context
> >> >> > so that at the end of the route it will get called (without
> explicitly
> >> >> > setting it) For example:
> >> >> > from("jms:somequeue")
> >> >> >   .processRef("someRandomProcessor")
> >> >> >   .processRef("someProcessorThatSetsThreadLocalValue")
> >> >> >   ....
> >> >> >   .to("jms:someotherqueue")
> >> >> >
> >> >> >
> >> >> > Ideally I'd like the threadlocal cleared when the exchange has been
> >> >> written
> >> >> > to the queue, without adding a processor that explicitly clears it
> (as
> >> >> > developers when adding new routes will forget to do it). I know the
> >> >> > onCompletion runs in a seperate thread so isn't fit for my purpose.
> >> I've
> >> >> > noticed  syncronisations and unitofworks, but cant seem to find any
> >> >> > documentation on it. Would this be fit for purpose?
> >> >> >
> >> >> >
> >> >> >
> >> >> > --
> >> >> > View this message in context:
> >> >>
> >>
> http://camel.465427.n5.nabble.com/Clearing-ThreadLocal-when-exchange-completes-tp5729849.html
> >> >> > Sent from the Camel - Users mailing list archive at Nabble.com.
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Claus Ibsen
> >> >> -----------------
> >> >> Red Hat, Inc.
> >> >> FuseSource is now part of Red Hat
> >> >> Email: [email protected]
> >> >> Web: http://fusesource.com
> >> >> Twitter: davsclaus
> >> >> Blog: http://davsclaus.com
> >> >> Author of Camel in Action: http://www.manning.com/ibsen
> >> >>
> >>
> >>
> >>
> >> --
> >> Claus Ibsen
> >> -----------------
> >> Red Hat, Inc.
> >> FuseSource is now part of Red Hat
> >> Email: [email protected]
> >> Web: http://fusesource.com
> >> Twitter: davsclaus
> >> Blog: http://davsclaus.com
> >> Author of Camel in Action: http://www.manning.com/ibsen
> >>
>
>
>
> --
> Claus Ibsen
> -----------------
> Red Hat, Inc.
> FuseSource is now part of Red Hat
> Email: [email protected]
> Web: http://fusesource.com
> Twitter: davsclaus
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen
>

Reply via email to