DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
@DynamicRouter Annotation
As of Camel 2.5.0 we now support the use of @DynamicRouter on a bean method to easily create a Dynamic Router using a Java method.
Simple Example using @Consume and @DynamicRouter
package com.acme.foo;
public class RouterBean {
@Consume(uri = "activemq:foo")
@DynamicRouter
public String route(String body) {
// compute where we should go next and return the uri of the endpoint.
// return null to stop dynamic routing
}
}
For example if the above bean is configured in Spring when using a <camelContext> element as follows
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
">
<camelContext xmlns="http://activemq.apache.org/camel/schema/spring"/>
<bean id="myDynamicRouter" class="com.acme.foo.RouterBean"/>
</beans>
then a route will be created consuming from the foo queue on the ActiveMQ component which when a message is received the message will routed dynamic using the Dynamic Router.