Hi all,
I need to consume a file (always the same) when an http request is done.
Basically what I have to do is when an http request is done on a given
address then I have to consume a file on an ftp, and process it.
So I created the route as follow:

from(
"jetty:http://0.0.0.0:"; + jettyPort + "/"
+ jettyControllerPathFeed).process(new Processor() {

@Override
public void process(Exchange arg0) throws Exception {
getContext().startRoute(AdobeS7DefaultRoute.ROUTE_INCREMENTAL);
}
});

from(
"file:/opt/servicemix/data/smx-data/outbox?fileName=test.jtl&noop=true&idempotent=false").noAutoStartup()
.id(ROUTE_INCREMENTAL)
.to("direct:" + ROUTE_INCREMENTAL)
.process(new Processor() {
@Override
public void process(Exchange arg0) throws Exception {
getContext().getShutdownStrategy().setTimeout(1);
getContext().stopRoute(ROUTE_INCREMENTAL);
}
});

from("direct:" + ROUTE_INCREMENTAL)
.unmarshal(csv)
.process(new Processor() {

//do things
})
.split(xpath(splitXml))
.to("jms:" + jmsincrementalQueue + "?jmsMessageType=Text");

The problem I get running these routes on the esb is that the route
ROUTE_INCREMENTAL run correctly just the first time when I do the request
the second time the route with id ROUTE_INCREMENTAL is not started.
Debugging the route the second time I do the http request, the line
getContext().startRoute(AdobeS7DefaultRoute.ROUTE_INCREMENTAL);

seems to not work.

I also used
noop=true&idempotent=false

to deactivate the idempotentrepository.

I also tried to use a filebased Idempotent adding to my route:
.idempotentConsumer(simple("${date:now:yyMMddHHmmssZ}"),
FileIdempotentRepository.fileIdempotentRepository(new
File("/opt/file.txt")))

in this case I use the date as id, so the second time I do the request the
Id should be different from the firstone. But even in this case the route is
not started from the processor of the first route during the second request.

Any Idea what is going on? why the first time the routes work perfectly and
the second time the route ROUTE_INCREMENTAL is not started?
There is any better solution to do what I would like to do?

Thanks in advance for your help
Danilo



--
View this message in context: 
http://camel.465427.n5.nabble.com/Route-consuming-the-same-file-does-not-start-the-second-time-that-it-is-ran-tp5720095.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to