L.S., For the 2012.01 version of the components, we fixed quite a few issues with regards to locking/concurrency/continuation usage in the http endpoints. You could try with http://servicemix.apache.org/downloads/servicemix-3.4.0.html but you will also have to use the newer <http:consumer/> endpoint instead of the old <http:endpoint/> implementation as you're doing now to get these fixes. Cfr. http://servicemix.apache.org/docs/4.4.0/jbi/components/servicemix-http.htmland http://servicemix.apache.org/old/servicemix-http-new-endpoints.html
Regards, Gert Vanthienen ------------------------ FuseSource Web: http://fusesource.com Blog: http://gertvanthienen.blogspot.com/ On Wed, Dec 28, 2011 at 1:32 AM, yoleng <[email protected]> wrote: > I did this way, just expand the synchronized to contain the isSTFlow > setting, > and tested it, it seems ok, but I do not know this way is ok or not. Could > you somebody help me? thanks. > synchronized (cont) { > if (!cont.isPending()) { > isSTFlow = true; > } else { > isSTFlow = false; > > if (locks.remove(exchange.getExchangeId()) == null) { > throw new Exception("HTTP request has timed out"); > } > if (log.isDebugEnabled()) { > log.debug("Resuming continuation for exchange: " + > exchange.getExchangeId()); > } > exchanges.put(exchange.getExchangeId(), exchange); > cont.resume(); > if (!cont.isResumed()) { > if (log.isDebugEnabled()) { > log.debug("Could not resume continuation for > exchange: " + exchange.getExchangeId()); > } > exchanges.remove(exchange.getExchangeId()); > throw new Exception("HTTP request has timed out for > exchange: " + exchange.getExchangeId()); > } > } > } > > -- > View this message in context: > http://servicemix.396122.n5.nabble.com/servicemix-http-BC-multiple-thread-problem-tp5096519p5104147.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. >
