gpt4 book ai didi

java springrabbitmq让一个队列等待另一个队列

转载 作者:行者123 更新时间:2023-11-30 03:07:15 25 4
gpt4 key购买 nike

我有一个java spring应用程序和rabbitmq服务器。我有两个队列。第一个检查 A 是否在 DB 中。第二个将 A 保存到 db。我的意思是听众。但是,如果我使用相同的 A 发送许多请求,则第一个队列监听器会尝试检查数据库中的 A,甚至在第二个监听器将其保存到数据库之前也是如此。如何同步两个队列?因此,第一个监听器应该知道第二个监听器已经将此 A 保存到数据库中,然后第一个监听器应该在数据库中检查它。因此,如果我发送 1000 个 A 请求,第一个监听器检查 A,没有 A,然后发送到第二个监听器,它保存 A,但在第二次迭代时,第一个监听器再次检查 A,但第二个监听器可能未完成这是工作。那么第一个应该等待。怎么解决?

最佳答案

使用线程,也许带有锁。
第一个线程从队列 A 中取出元素,并将其传递给其他线程,该线程锁定您的 DB,检查 A 是否在 DB 中,如果不在,则将其写入 DB,解锁 DB,并接受下一个传递的元素。与队列 B 相同。
只需在检查和写入之前锁定数据库,并在写入后解锁即可。

关于java springrabbitmq让一个队列等待另一个队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34445249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com