Walk through an Example:
http://cwiki.apache.org/confluence/display/CAMEL/Walk+through+an+Example
springExampleUsingNamespaces.xml
使用spring.xml配置路由:
<?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.0.xsd http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd "> <!-- START SNIPPET: example --> <camelContext id="camel" xmlns="http://activemq.apache.org/camel/schema/spring"> <route> <from uri="test-jms:queue:test.queue"/> <process ref="logger"/> <to uri="file:target/data"/> <process ref="logger"/> </route> </camelContext> <bean id="logger" class="org.apache.camel.processor.Logger"/> <bean id="test-jms" class="org.apache.camel.component.jms.JmsComponent"> <property name="connectionFactory"> <bean class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="vm://localhost?broker.persistent=false"/> </bean> </property> </bean> <!-- END SNIPPET: example --> </beans>
Main.java
1.创建一个CamelContext;
2. 在CamelContext中发送对象(本例为文字),发送到的Component为test-jms:queue:test.queue.
public class Main {
public static void main(String args[]) throws Exception {
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext(
"org/apache/camel/example/spring/springExampleUsingNamespaces.xml");
SpringCamelContext camelContext = (SpringCamelContext) applicationContext
.getBean("camel");
CamelTemplate template = new CamelTemplate(camelContext);
camelContext.start();
template.sendBody("test-jms:queue:test.queue", "Test Message" );
Thread.sleep(1000);
camelContext.stop();
}
}