Java中的持久优先级队列和使用者线程池

时间:2012-03-17 09:12:29

标签: java multithreading persistence priority-queue

以下是问题,我想提出一个优雅的解决方案。我想知道您的想法和一些可以帮助我使用Java获得解决方案的库。

  1. 需要N个优先级队列 持久性(目前是DB,可能是后来的另一种解决方案)。

  2. 将会有一个线程池执行顶级元素 优先级队列以循环方式或优选地根据 一些优先级(线程池的优先级队列)。

  3. 对所有人来说,优先级队列中的元素执行不是同步的 我通过网络发送消息并更改状态的元素 该队列中的等待直到来自的响应到来 网络。我希望线程继续处理其他元素,因为 回复可以在很长一段时间内到达。

1 个答案:

答案 0 :(得分:2)

我会使用持久的JMS队列。您可以将工作线程池附加到队列并排队结果/响应。

可以嵌入的简单易用的JMS代理是ActiveMQ。您还可以查看Apache Camel来路由这些任务,但是根据您的要求可能会过度杀死。