我正在制作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将尝试运行任务时,仍会执行先前执行的任务。这导致一些任务被执行两次。
答案 0 :(得分:0)
看起来Spring Integration支持PriorityChannel。
我已经使用Spring(core和mvc)很长一段时间了,我从未在Spring核心库中听说过这样的功能,但Spring Integrations PriorityChannel看起来很有希望。