简体   繁体   中英

Camel servlet to listen address

I have a program that listens to ftp address and whenever new file appears it takes it and converts to pojo. But I run it from main() method. It's not very comfortable.

I would like to create a servlet that will do the same, but i will create war file and put it into TomCat and the program will run itself, so i wouldn't have to run it.

I have created web.xml with camel servlet and spring listener and don't know what my further steps should be.

Here's what I have now:

My class:

@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>

camel-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:

Now i see that my program connects to ftp, but it doesn't copy files.

I pasted log i'm getting http://pastebin.com/2tTf6QmL

What I make from the question is that you are trying to use camel-servlet component for initializing camel routes in a web-application. Camel-servlet component is not meant for doing this. If you are using spring with camel, then configure Spring web context loader org.springframework.web.context.ContextLoaderListener and import the spring-camel xml's in spring application context file.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM