Here are the answers for you questions.
Q1. The default camel thread pool is using CachedThreadPool which means it 
doesn’t set up the thread size. 


Q2 If the calling thread is blocked, it still there, thread pool doesn’t reuse 
it.
That could explain why you got the OOM error. 

If you setup the max size of thread pool, you may face the reject execution 
issue, as the thread in the thread pool may all blocked.

My suggestion you should add a timeout for the sync invocation, to avoid 
blocking the working thread forever.


--  
Willem Jiang

Red Hat, Inc.
Web: http://www.redhat.com
Blog: http://willemjiang.blogspot.com (English)
http://jnn.iteye.com (Chinese)
Twitter: willemjiang  
Weibo: 姜宁willem



On July 7, 2014 at 11:30:05 PM, rubancsp (ruban...@gmail.com) wrote:
> Corrected typo error
>  
> Hi Willem
>  
> We are getting the OOM memory error in our production environment due to the
> lot of stuck threads.
> while analyzed the code we found that one of the camel route which is using
> the mulitcast is the reason for the stuck thread.This is intermittent issue
> .
>  
>  
> Please find the below code snippet which we used for multi casting.(making
> the two parallel web service call)
>  
> Camel version:2.10.3
>  
> > loggingLevel="DEBUG">
> > parallelProcessing="true">
>  
>  
>  
>  
>  
>  
>  
> Please find the below two logs:
>  
> Logs which is causing the stuck thread:
> 30 Jun 2014 15:10:42,823 ********** [] [14.01] ERROR [Camel (camel-1) thread
> #7 - Multicast] invokeCentury - inside century route
>  
> Log which is working fine:
>  
> 30 Jun 2014 15:10:58,105 *************** [] [14.01] ERROR [Camel (camel-1)
> thread #2 - Multicast] invokeCentury - inside century route
> 30 Jun 2014 15:10:58,105 ************** [14.01] ERROR [Camel (camel-1)
> thread #5 - Multicast] invokeWBServices - inside wb route
>  
>  
> Here is my questions: 1)we are using the default camel thread pool for the
> making the two synchronous calls and not customizing the default thread
> pool.do we need to make any change in the above code to customize the thread
> pool setting(like min pool size max.pool size etc).
> 2) what will happen to worked thread if we did n't get any response from
> the external system . Thread pool terminate the worked thread or we need to
> handle it in our code.
>  
> It would be great if you provide some suggestion on the above issue.
>  
> Please let me know if you need any additional details.
>  
> Thanks
>  
>  
>  
>  
>  
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/Possible-bug-with-multicast-shareUnitOfWork-tp5726103p5753468.html
>   
> Sent from the Camel - Users mailing list archive at Nabble.com.
>  

Reply via email to