我是Apache Camel的新手,请告诉我如何使用自动激活routeBulder的camel部署战争?
我在applicationContext.xml
中进行了配置 <camelContext xmlns="http://camel.apache.org/schema/spring" id="camel-3">
<routeBuilder ref="SearchProcessRoute" />
<bean id="SearchProcessRoute" class="camel.core.SearchProcessRouteBuilder" />
和路线构建器
public class SearchProcessRouteBuilder extends RouteBuilder {
@Override
public void configure() throws Exception {
// TODO Auto-generated method stub
from("activemq://search.queue")
.log("Process from the queue")
.bean("SearchProcessBean","ProcessData")
.to("activemq://search.process.queue");
}}
当我向search.queue发送邮件时,它没有处理任何内容?
请告诉我使用驼峰部署网络应用的正确方法(是否有任何示例应用)以及我们如何解决上述问题?
PS。我能够将它作为一个独立的应用程序执行。但是,我想要实现的是从独立应用程序连接到在战争中部署的activmq(“activemq://search.queue”),然后战争中的路径(SearchProcessRouteBuilder)自动激活,会处理队列。然后它会将消息发送到另一个队列“activemq://search.process.queue”。
这是否可以与Apache Camel一起使用,如果我们如何实现这一目标呢?
答案 0 :(得分:3)
你只需要在web.xml中添加以下内容来引导Spring / Camel上下文
<!-- location of spring xml files -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- the listener that kick-starts Spring -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>