Hi Willem, considering that part to go async, that makes more sense :-) thanks. regards, aki
2012/9/17 Willem jiang <willem.ji...@gmail.com>: > Hi Aki, > > It makes sense. The httpExchange has bunch of onXXXX method to take care of > it. > We should try to close the input stream when the exception is thrown. > > I just filled a JIRA[1] for it. > > [1]https://issues.apache.org/jira/browse/CAMEL-5621 > > -- > Willem Jiang > > Red Hat, Inc. > FuseSource is now part of Red Hat > Web: http://www.fusesource.com (http://www.fusesource.com/) > Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) > (English) > http://jnn.javaeye.com (http://jnn.javaeye.com/) (Chinese) > Twitter: willemjiang > Weibo: willemjiang > > > > > > On Monday, September 17, 2012 at 5:55 PM, Aki Yoshida wrote: > >> I think there is an issue in JettyHttpProducer. >> >> public boolean process(Exchange exchange, final AsyncCallback callback) { >> JettyContentExchange httpExchange = null; >> try { >> httpExchange = createHttpExchange(exchange, callback); >> doSendExchange(client, httpExchange); >> } catch (Exception e) { >> // error occurred before we had a chance to go async >> // so set exception and invoke callback true >> exchange.setException(e); >> callback.done(true); >> return true; >> } >> >> // we should continue processing this asynchronously >> return false; >> } >> >> createHttpExchange(exchange, callback) may open an input stream and >> set it to httpExchange. When something goes wrong in doSendExchange, >> this input stream may not be closed. So, I put a finally block there >> which checks if the input stream in available in httpExchange and if >> so, closing it. That released the file. Or something of this kind >> could go into doSendExchange. >> >> regards, aki >> >> 2012/9/17 Kramer, Ulrich <u.kra...@sap.com (mailto:u.kra...@sap.com)>: >> > Hello! >> > >> > in Apache Camel 2.10.1 the following route leaves the files in the source >> > directory opened, if the destination is not reachable. Every second the >> > number of opened files (lsof -p <pid>) is increased by 2. >> > >> > from("file:/tmp/inbox").to(""jetty:http://localhost:12345/xxx") >> > >> > But the route >> > >> > from("file:/tmp/inbox").throwException(new Exception("Test")) >> > >> > works fine. Is this a bug? > >