[ 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.