You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2011/04/07 11:26:06 UTC

[jira] [Commented] (AMQ-3272) Handle RejectedExecutionException

    [ https://issues.apache.org/jira/browse/AMQ-3272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13016780#comment-13016780 ] 

Gary Tully commented on AMQ-3272:
---------------------------------

just at thought, this might effect the send order, in that the last task gets executed ahead of pending tasks.
Would it be better if that send blocked pending the execution of the tasks ahead of it.
so use a fixed size blocking task pool and have the number of workers configurable.

> Handle RejectedExecutionException 
> ----------------------------------
>
>                 Key: AMQ-3272
>                 URL: https://issues.apache.org/jira/browse/AMQ-3272
>             Project: ActiveMQ
>          Issue Type: Improvement
>    Affects Versions: 5.5.0
>            Reporter: Dejan Bosanac
>            Assignee: Dejan Bosanac
>             Fix For: 5.6.0
>
>
> Under heavy load, the async task executor in kahadb can throw RejectedExecutionException meaning it can't accept more tasks.
> Thread pool executor has RejectedExecutionHandler that deals with these situations and by default it aborts the task and throws the exception. I think it's much better to use ThreadPoolExecutor.CallerRunsPolicy which will try to execute the task in the current thread and thus sync the execution.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira