You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2009/07/30 16:52:14 UTC
[jira] Commented: (DIRMINA-723) OrderedThreadPoolExecutor behavior:
configurable queue size, corePoolSize, maximumPoolSize
[ https://issues.apache.org/jira/browse/DIRMINA-723?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12737124#action_12737124 ]
Emmanuel Lecharny commented on DIRMINA-723:
-------------------------------------------
What if you use a IoEventQueueThrottle ? This allows you to limit the number of events the queue can contains.
> OrderedThreadPoolExecutor behavior: configurable queue size, corePoolSize, maximumPoolSize
> ------------------------------------------------------------------------------------------
>
> Key: DIRMINA-723
> URL: https://issues.apache.org/jira/browse/DIRMINA-723
> Project: MINA
> Issue Type: Improvement
> Components: Core
> Affects Versions: 2.0.0-M6
> Environment: Ubuntu Linux, kernel 2.6.x
> Reporter: Victor N
> Priority: Minor
>
> The problem was discussed with Emmanuel Lecharny in mail lists:
> http://www.nabble.com/OrderedThreadPoolExecutor%3A-limited-workQueue-td24275973.html
> If you compare OrderedThreadPoolExecutor and standard ThreadPoolExecutor, you can see that ThreadPoolExecutor has useful params:
> - core pool size
> - maximum pool size
> - work queue size
> If you use unbounded thread pools and queues with mina Acceptor or Connector, you may get OutOfMemoryError under critical load because Java creates too many threads.
> With ThreadPoolExecutor you may limit the number of threads (maximumPoolSize) and use a bounded queue (ex. LinkedBlockingQueue of limited capacity).
> Unfortunately, this does not work with OrderedThreadPoolExecutor -both "waitingSessions" and "sessionTasksQueue" do not allow to configure their size nor pass a different queue implementation.
> Even though OrderedThreadPoolExecutor extends ThreadPoolExecutor, it overrides the behavior significantly - seems that its meaning of "corePoolSize" and "maximumPoolSize" is different.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.