I think your main method is terminating before Camel has a chance to do anything. org.apache.camel.spring.Main actually starts up a new main thread and waits for completion so it doesn't exit right away.
If it fits your usecase, I would recommend just using org.apache.camel.spring.Main. Cheers, Jon On Wed, Jul 22, 2009 at 9:09 AM, arhan <[email protected]> wrote: > > Hi! > > > I have a following code for processing files (see the code below). And > there's a difference in the file component behavior depending on how do I > start the app. > > > 1) When using the org.apache.camel.spring.Main the application initializes > and starts to poll the directory with desired periods/delays > > 2) When starting the application via spring context (the main() method in > the code snippet), the application initializes and stops without polling > the > directory at all. > > > > Here's the full code snippet: > > <?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://camel.apache.org/schema/spring > http://camel.apache.org/schema/spring/camel-spring.xsd"> > > <camelContext id="importing" xmlns="http://camel.apache.org/schema/spring > "> > <package>some.project</package> > </camelContext> > > </beans> > > > > package some.project; > > public class Route extends SpringRouteBuilder { > > public void configure() { > String uri = "file:files" + > "?initialDelay=15000" + > "&delay=10000" + > "&useFixedDelay=true" + > > > "&move=backup/${file:name.noext}-${date:now:yyyyMMddHHmmssSSS}.xml";//backup > expression > > from(uri). > //some processign done here > .to("log:abrakadabra?level=DEBUG"); > } > > public static void main(String[] args) { > new ClassPathXmlApplicationContext("tmp-context.xml"); > } > > } > > > ..and here's the log when the app is started via the main() method: > > 22-07-2009 14:29:59,837 DEBUG DefaultCamelContext - Adding routes from: > Routes: > > [Route[[From[file:files?initialDelay=15000&delay=10000&useFixedDelay=true&move=backup/${file:name.noext}-${date:now:yyyyMMddHHmmssSSS}.xml]] > -> To[log:abrakadabra?level=DEBUG]]]]]] routes: [] > ... > 22-07-2009 14:29:59,837 DEBUG SpringCamelContext - Starting the > CamelContext > now that the ApplicationContext has started > 22-07-2009 14:29:59,837 INFO DefaultCamelContext - Apache Camel 2.0-M2 > (CamelContext:importing) is starting > 22-07-2009 14:29:59,837 DEBUG DefaultProducerServicePool - Starting service > pool: org.apache.camel.impl.defaultproducerservicep...@1df2964 > .... > 22-07-2009 14:30:00,430 DEBUG DefaultProducerServicePool - Stopping service > pool: org.apache.camel.impl.defaultproducerservicep...@1df2964 > 22-07-2009 14:30:00,430 INFO DefaultCamelContext - Apache Camel 2.0-M2 > (CamelContext:importing) started > > Process finished with exit code 0 > > > And actually the same happens to the timer component, i.e if i just change > the uri value to something like > "timer:cancellationTimer?delay=1000&period=1000" > > > > The question is, is this a desired behavior, or it is actually a bug, and > the only way to fix this is to use org.apache.camel.spring.Main launcher ? > > Thx, > Anton > -- > View this message in context: > http://www.nabble.com/File-Component-%282.0-M2%29-not-polling-tp24604720p24604720.html > Sent from the Camel - Users mailing list archive at Nabble.com. > > -- Cheers, Jon http://janstey.blogspot.com/
