gpt4 book ai didi

消费者中的java Spring Rabbit线程池

转载 作者:行者123 更新时间:2023-12-02 03:40:07 25 4
gpt4 key购买 nike

我有一个兔子消费者,里面有一个线程池。我决定有一个线程池,因为我需要等待计算完成。但正如我注意到的,TP的使用会导致奇怪的效果,比如卡住等等。所以我想问一下,在兔子消费者里面使用TP是否正确?使用 Spring Rabbit 工具是否可以实现相同的功能?

...
ThreadPoolExecutor pool = new ThreadPoolExecutor(cores, 50, 30L, TimeUnit.SECONDS, new ArrayBlockingQueue<>(3000));

public void onMessage(){

pool.execute(()->{
//do something
handleMessage(...);//return to some output queue
});

}

    public void onMessage(){
//do something
handleMessage(...);//return to some output queue
}

最佳答案

通常,简单地增加监听器容器中的 concurrentConsumers 比移交给您自己的线程池更好。

无论哪种方式,您的代码都需要是线程安全的。

使用当前的解决方案,您可能会面临消息丢失的风险,因为消息会在监听器退出时得到确认。

关于消费者中的java Spring Rabbit线程池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36921248/

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