首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Micronaut和RabbitMQ

Micronaut和RabbitMQ
EN

Stack Overflow用户
提问于 2021-07-02 19:46:15
回答 1查看 35关注 0票数 0

我正在开发一个使用Micronaut的应用程序,它需要使用RabbitMQ队列中的消息。问题是队列可以提供很多消息,所以我希望有一个参数化的消费者实例数量。

例如,下面的代码自动生成一个消费者实例:

代码语言:javascript
运行
复制
    @RabbitListener
    public class TestConsumer {
    
    
     @Queue("TestQueue")
     public void handleMessage(String message) {
        // some treatment
     }
    }

有没有办法告诉micronaut实例化多个实例?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-30 10:59:23

如果我理解正确的话,您希望配置有多少线程使用队列中的消息。您可以通过在application.yml中配置的执行器来执行此操作

请参阅来自micronaut-rabbitmq docu的以下示例。

代码语言:javascript
运行
复制
@RabbitListener
public class ProductListener {

    List<String> messageLengths = Collections.synchronizedList(new ArrayList<>());

    @Queue(value = "product", executor = "product-listener") 
    public void receive(byte[] data) {
        messageLengths.add(new String(data));
        System.out.println("Java received " + data.length + " bytes from RabbitMQ");
    }
}

使用application.yml

代码语言:javascript
运行
复制
micronaut:
    executors:
        product-listener:
            type: fixed
            nThreads: 25
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68224628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档