camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From doug5791 <tobed...@uwgb.edu>
Subject Re: Camel: How to stop a route temporarily?
Date Tue, 25 Mar 2014 19:14:28 GMT
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.

Mime
View raw message