使用PriorityQueue计划任务

时间:2015-10-23 20:44:52

标签: java spring mongodb

我正在制作Spring REST个应用,每次用户在特定网址上发送POST请求时,我都需要将任务发送到PriortyQueue,基于POST参数。

User A send a `POST` request with priority = 1
User B send a `POST` request with priority = 2

如果用户A的任务尚未启动,则用户B的任务具有优先权。

Spring是否有处理此问题的工具,或者我是否必须自己实施?有人可以给我一些关于我应该怎么做的提示?我需要同步执行任务。

我在这里找到了一些东西:Work queues with MongoDB and Spring Integration。困扰我的是任务将每5秒执行一次。如果在5秒内未完成任务,则下次Spring将尝试运行任务时,仍会执行先前执行的任务。这导致一些任务被执行两次。

1 个答案:

答案 0 :(得分:0)

看起来Spring Integration支持PriorityChannel

我已经使用Spring(core和mvc)很长一段时间了,我从未在Spring核心库中听说过这样的功能,但Spring Integrations PriorityChannel看起来很有希望。