ActiveMQ和ThreadPoolExecutor一起工作

时间:2016-10-06 09:58:41

标签: java multithreading activemq threadpool threadpoolexecutor

我需要从activeMQ获取数据,然后将其传递给在ThreadPoolExecutor中运行的执行程序。

问题是,我不必从队列中获取下一个数据,直到我在池中至少有一个线程处于空闲状态,准备好接受此任务。

我可以忙着等到activeCount< poolSize。但我会感谢任何解决方案与此异步处理。提前致谢。

1 个答案:

答案 0 :(得分:0)

你可以试试这个

final ThreadPoolExecutor executor=...
new Thread(new Runnable(){
public void run(){
    while(true){
        if(executor.getActiveCount()<executor.getCorePoolSize())
            executor.execute(mq.get());
      }
}).start();