Several task executors in spring integration

I am currently working on a project involving lots of asynchronous tasks running independently. I have one spring configuration file.

<task:executor id="taskScheduler" pool-size="5-20">
<task:executor id="specificTaskScheduler" pool-size="5-50" queue-capacity="100">

<!-- integration beans and 
     several object pools, with a total number of 100 beans created 
     using CommonsPoolTargetSource -->

I specifically created two executors - one to be used for spring integration needs and custom executor in order for it to run only my tasks feeding it to integration beans with explicit reference. After that I supplied a long running task to be procesed. My EAR runs on WebLogic and I dumped stacktrasce of threads being run and was very disappointed to find out that most of fifty threads in my custom executor wait in a executor's queue for an object to be available from the pool. I did not want CommonsPoolTargetSource to use my executor as a platform for managing its sources. What can I do here? Maybe creating a separate spring file with CommonsTargetSource beans will solve it? Thank you for any ideas.

Answers


Thanks guys. Turned out that pool was not a problem, I just had to add more instances to it and slightly increase the pool size with queue capacity set to zero and rejection policy set to an execution of the call in the caller's thread. I have yet to test it under heavy load though.


Need Your Help

Linking error in Cuda

c++ cuda thrust nvcc

I have problem trying to build basic cuda/thrust code to get more familiar with GPU programming. I am probably not compiling it properly so I would like to know what I am doing wrong?

Casting between value types on a class using generics

c# generics

In this section of a function (.NET 2.0):