On Tue, May 8, 2012 at 4:15 PM, Thomas Johansen <thxm...@gmail.com> wrote: > Hi, > > There's obviously a difference in how the wireTap()-processor handles > exceptions in 2.9.0 and 2.9.1/2.9.2. > In 2.9.0, when the wireTap() encounters a RejectedExecutionException on its > ExecutorService, the exception is swallowed.
Yes of course that was a bug. Exception should never just be swallowed and ignored. > In 2.9.1/2.9.2 the exception is propagated to the errorHandler of the route. > Is this by intention? Makes upgrading kind of difficult for me... > > The following test works with 2.9.0 but not 2.9.1/2.9.2: > > @Test > public void wireTapWithExecutorService() throws Exception { > CamelContext context = new DefaultCamelContext(); > context.addRoutes(new RouteBuilder() { > @Override > public void configure() throws Exception { > from("direct:test").wireTap("mock:test").executorService(createRejectingExecutor()); > } > }); > context.start(); > context.createProducerTemplate().requestBody("direct:test", "TESTING"); > } > > private ExecutorService createRejectingExecutor() { > ExecutorService executorService = new ThreadPoolExecutor(0, 1, 60, > TimeUnit.SECONDS, new SynchronousQueue<Runnable>()); > executorService.execute(new Runnable() { > @Override > public void run() { > try { > Thread.sleep(Long.MAX_VALUE); > } catch (InterruptedException e) { > } > } > }); > return executorService; > } > > Takk, > Thomas -- Claus Ibsen ----------------- CamelOne 2012 Conference, May 15-16, 2012: http://camelone.com FuseSource Email: cib...@fusesource.com Web: http://fusesource.com Twitter: davsclaus, fusenews Blog: http://davsclaus.blogspot.com/ Author of Camel in Action: http://www.manning.com/ibsen/