Spring Boot中的作业队列

时间:2019-02-20 16:02:36

标签: spring-boot queue jobs

我有一个监听事件的应用程序。在每个事件上,我都会做一些事情,然后发送另一个事件。

[NameUpdated (Joe)] -> [do stuff] -> [PersonUpdated (Joe)] 

问题是,我有多个事件触发了我的最终结果:

[NameUpdated (Joe)] -> [do stuff] -> [PersonUpdated (Joe, 29, "")]
[AgeUpdated (27)]   -> [do stuff] -> [PersonUpdated (Joe, 27, "")] 
[JobUpdated (Dev)]  -> [do stuff] -> [PersonUpdated (Joe, 27, DEV)]

事件在很短的时间内就汇聚在一起(比如说在1秒钟之内)。结果,我的应用程序还在一秒钟内发送了三个事件。但是只有最后一个有趣。

我的想法是推迟执行。当我收到第一个事件时,我想创建一个作业,该作业将在几秒钟后执行。当我收到第二个和第三个事件时,我可以检查是否已经有工作。

我正在寻找一些基于Spring(引导)的功能来做到这一点。实现队列和调度程序来处理它没问题-但我不想做很多手工制作的事情。因此,我正在寻找实现这一目标的明智方法。

0 个答案:

没有答案