Camel servlet来监听地址

时间:2013-10-18 13:12:46

标签: java spring servlets apache-camel

我有一个程序可以监听ftp地址,每当出现新文件时它会接收并转换为pojo。但是我从main()方法运行它。这不是很舒服。

我想创建一个将执行相同操作的servlet,但我将创建war文件并将其放入TomCat并且程序将自行运行,因此我不必运行它。

我使用camel servlet和spring listener创建了web.xml,并且不知道我的进一步步骤应该是什么。

这就是我现在所拥有的:

我的课程:

@Component
public class test extends SpringRouteBuilder {
@Override
public void configure() throws Exception {
            from("ftp://Mike@localhost?noop=true&binary=true").to("file://data");
            }
}

的web.xml:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:camel-config.xml</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

驼-config.xml中

<context:component-scan base-package="org.apache.camel.spring.issues.contextscan"/>

<camelContext id="camel5" xmlns="http://camel.apache.org/schema/spring">
    <routeBuilder ref="myBuilder" />
</camelContext>

<bean id="myBuilder" class="test"/>

UPD:

现在我看到我的程序连接到ftp,但它不会复制文件。

我粘贴了日志我正在http://pastebin.com/2tTf6QmL

1 个答案:

答案 0 :(得分:1)

我从这个问题中得出的结论是,您正在尝试使用camel-servlet组件来初始化Web应用程序中的camel路由。 Camel-servlet组件不适合这样做。如果你使用spring with camel,那么配置Spring web context loader org.springframework.web.context.ContextLoaderListener并在spring应用程序上下文文件中导入spring-camel xml。