2

我是 Apache Camel 的新手,请告诉我我们如何部署与自动激活 routeBulder 的骆驼的战争?

我在 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 是否可行,如果那么我们如何实现这一点?

4

1 回答 1

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>

http://camel.apache.org/servlet-tomcat-example.html

于 2013-09-27T03:54:40.683 回答