-
Bug
-
Resolution: Done
-
Major
-
jboss-fuse-6.2.1
-
None
-
%
-
-
-
Sprint 7 - towards CR2
I have a very simple camel route:
<from uri="cxfrs:bean:rsServerQuote?resourceClasses=org.jboss.fuse.quote.QuoteService&bindingStyle=SimpleConsumer"/> <removeHeaders pattern="Camel*" /> <to uri="jetty:http://localhost:8080/quote?httpClientMinThreads=1&httpClientMaxThreads=5&httpClient.idleTimeout=10000&httpClient.timeout=10000"/>
If backend service runs normally on "http://localhost:8080/quote", then everything is ok. However, if there is something wrong on the backend service and as a result, the camel-jetty producer endpoint receives either "Connection Refused" exception or "SocketTimeout" exception, thread deadlock happens.
The only workaround to avoid thread deadlock is to change camel-cxfrs consumer endpoint from using default async API to sync API instead by adding "synchronous=true" option:
<from uri="cxfrs:bean:rsServerQuote?resourceClasses=org.jboss.fuse.quote.QuoteService&bindingStyle=SimpleConsumer&synchronous=true"/>