Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Available as of Camel 2.0

Warning
title@deprecated

The AOP has been marked as @deprecated in Camel 2.4 and will be removed in a future release. The concept of the AOP did not go in the directions we liked, so we decided it's better to remove unused/less used features.

Camel has a AOP concept in the DSL allowing you do do some custom before and/or after processing when routing an Exchange.
It replaces the intercept from Camel 1.x that . intercept was more limited as because it could was a fix only be fixed around a single processor.

This new AOP can span multiple processors (nodes in the route graph) and it uses endpoint URI URIs to allow invoking any kind of Camel component.

The AOP supports the following callbacks in which you can use 1..n free of choice:

  • before
  • after
  • afterFinally

The difference between after and afterFinally is that afterFinally is invoked from a finally block so it will always be invoked no matter what, eg also in case of an exception occur.

...

The aop in Java DSL have the following methods:

  • around
  • aroundFinally
  • before
  • after
  • afterFinally

Using from Spring DSL

In Spring DSL its nearly the same as in the Java DSL however a bit differently

...

Notice we use attributes on the <aop> tag to chose with AOP concept to use.

At runtime that resolves into this messages flow:

Code Block

inbox -> log:before -> bean.validate -> bean.handle -> log:after -> order

The aop in Spring DSL have the following attributes:

  • beforeUri
  • afterUri
  • afterFinallyUri

So in order to do an around we use both the beforeUri and the afterUri.

See Also