<dependencies>
...
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
<version>x.x.x</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jms</artifactId>
<version>x.x.x</version>
</dependency>
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>x.x.x</version>
</dependency>
...
</dependencies>
<camelContext xmlns="http://camel.apache.org/schema/spring">
...
<route>
<from uri="jms:queue:inputQueue" />
<to uri="bean:messageProcessor" />
<to uri="jms:queue:outputQueue" />
</route>
...
</camelContext>
public class MessageProcessor {
public void processMessage(Exchange exchange) {
Message inMessage = exchange.getIn();
String messageBody = inMessage.getBody(String.class);
Message outMessage = new DefaultMessage();
exchange.setOut(outMessage);
}
}
public class CamelApplication {
public static void main(String[] args) throws Exception {
CamelContext camelContext = new DefaultCamelContext();
camelContext.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("jms:queue:inputQueue")
.to("bean:messageProcessor")
.to("jms:queue:outputQueue");
}
});
camelContext.start();
Thread.sleep(5000);
camelContext.stop();
}
}