I am currently trying to use the "Exchange.ROUTE_STOP" property -I do not
think that using a CountDownLatch will work out-, however I do not get the
desired effect. Using the code below, only the last Exchange goes on to the
database:
//exAr is a List of Exchanges
.process(new Processor()
{
public void process(Exchange exchange) throws
Exception
{
//Check if cache is not full, add the
exchange, set
exchange to stop
if(exAr.size() < CACHEMAXSIZE)
{
exAr.add(exchange);
cacheSize++;
exchange.setProperty(Exchange.ROUTE_STOP, Boolean.TRUE);
}
//Check if cache is full, iterate
exchanges and set to
go, clear cache
if(exAr.size() == CACHEMAXSIZE)
{
for(int i = 0; i <
CACHEMAXSIZE; i++)
{
exAr.get(i).setProperty(Exchange.ROUTE_STOP,
Boolean.FALSE);
}
cacheSize = 0;
exAr.clear();
}
}
})
.to("database")
According to the documentation on using ROUTE_STOP this should be what I'm
looking for. However only the last item in the List is sent on to the
database.
--
View this message in context:
http://camel.465427.n5.nabble.com/Camel-How-to-stop-a-route-temporarily-tp5749351p5749356.html
Sent from the Camel - Users mailing list archive at Nabble.com.