Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Annotation Based Expression

...

Language

You can also use any of the Languages supported in Camel to bind expressions to method parameters when using bean integration Bean Integration. For example you can use any of these annotations:

Annotation

Description

@Bean

Inject a Bean expression

@BeanShell

Inject a BeanShell expression

@Constant

Inject a Constant expression

@EL

Inject an EL expression

@Groovy

Inject a Groovy expression

@Header

Inject a Header expression

@JavaScript

Inject a JavaScript expression

@OGNL

Inject an OGNL expression

@PHP

Inject a PHP expression

@Python

Inject a Python expression

@Ruby

Inject a Ruby expression

@Simple

Inject an Simple expression

@XPath

Inject an XPath expression

@XQuery

Inject an XQuery expression

Example:

Code Block
public class Foo {
	
    @MessageDriven(uri = "activemq:my.queue")
    public void doSomething(@XPath("/foo/bar/text()") String correlationID, @Body String body) {
		// process the inbound message here
    }
}

Advanced example using @Bean

And an example of using the the @Bean binding annotation, where you can use a POJO where you can do whatever java code you like:

...

Code Block
xml
xml
   <bean id="myCorrelationIdGenerator" class="com.mycompany.MyIdGenerator"/>

Example using JavaScript

TODO: Or use OGNL or the like