Parallel processing in application server
Our application has parts that need to run in parallel within an Application Server. This includes JMS queus and topics, scheduled jobs (Quartz), and silimar functionality. These parts need their own dedicated resources so they don't starve each other. We are currently using several ExecutorService thread pools.
It has been brough to our attention that using unmanged threads within a container is a bad and non-standard solution. In addition, we would like the added functionality of dynamically scaling the size of the pools. It seemed that leaveraging WorkManager would sovle both problems, utilizing Spring's WorkManagerTaskExecutor between implementations.
We are using JBoss AS 5.1 and WebSpere AS 7. The JBoss 5.1 WorkManager is not available via JNDI (unlike in WebSphere AS). Furthermore, it appears that the JBoss WorkManager is reserved for use for Resource Adapaters (http://community.jboss.org/message/243460). An alternative suggestion is to create a custom MBean to achive this functionality.
What is the Spring way for achiving parallel processing? Is there a better way to solve these problems?