What Camel version do you use? Also you use-case may not fit ideal to create and remove 50 routes per minute.
On Tue, Dec 10, 2013 at 1:01 PM, zdolniacha <[email protected]> wrote: > Hello, > > In my test app I'm starting, stopping and removing many SQL routes (about > 100 every two minutes). > I'm spawning manually only four of these - rest are created in queue (every > finished route start next one). > Now it looks similar to this: > > route.process(new Processor() { > Thread stop; > @Override > public void process(final Exchange exchange) throws Exception { > if(stop==null){ > stop = new Thread(){ > @Override > public void run() { > try{ > > camelCtx.stopRoute(exchange.getFromRouteId()); > > camelCtx.removeRoute(exchange.getFromRouteId()); > if(needToAddNextRoute) > > camelCtx.addRoutes(createNextRoute(exchange)); > }catch(final Exception e){ > log.debug("Cannot stop > route"); > } > } > }; > } > stop.start(); > } > }); > > Yes, it's taken from this tutorial: > http://camel.apache.org/how-can-i-stop-a-route-from-a-route.html > > The problem is that after 30-40 minutes it runs out of memory (250mb). > Heap dump shows that 90% of memory is occupied by instance of > org.apache.camel.processor.interceptor.BacklogTracer > but... it is not set anywhere in my app. Due to this doc > http://camel.apache.org/backlogtracer.html > it should be disabled by default. > > Do you have any clues what can produce this bug? > > M. > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/BacklogTracer-memory-leak-tp5744561.html > Sent from the Camel - Users mailing list archive at Nabble.com. -- Claus Ibsen ----------------- Red Hat, Inc. Email: [email protected] Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen
