首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生产者/消费者Spring发送多条消息

生产者/消费者Spring发送多条消息
EN

Stack Overflow用户
提问于 2020-11-12 10:58:18
回答 1查看 355关注 0票数 1

我有一个问题,生产者消费狂犬病春季应用。我想从生产者向消费者发送一系列消息,但是消费者部分没有收到它们,生产者就会发送它们。当我试着只发送一条信息的时候,它起了作用。守则如下:

生产者方法:

代码语言:javascript
复制
public void produce1(List<Company> companiesList){
        for (Company company:
             companiesList) {
            amqpTemplate.convertAndSend(exchange, routingkey, company);
            System.out.println("Send msg = " + company);
        }
       
    }

消费者方法:

代码语言:javascript
复制
 @RabbitListener(queues="${jsa.rabbitmq.queue}", containerFactory="jsaFactory")
    public void recievedMessage(Company company) {
        System.out.println("Recieved Message: " + company);
    }

我想做的是得到一个公司名单,从这个列表中每一秒发送一条公司信息给消费者。(因此消息之间的延迟应该是一秒)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-12 12:07:39

根据这一点,convertAndSend( Object )接受任何对象。

https://docs.spring.io/spring-amqp/docs/latest-ga/api/org/springframework/amqp/core/AmqpTemplate.html

因此,您正在发送1 ( Company ),您的recievedMessage(Company)也期望1 Company对象,这就是它与1一起工作的原因。

如果您想要发送一批公司(列表),那么根据https://docs.spring.io/spring-amqp/docs/2.2.9.RELEASE/reference/html/#receiving-batch,您将需要setBatch和setBatchListener(真)和其他配置来支持批处理(一次发送多条消息的能力)。

convertAndSend(列表xxx)和recievedMessage(List

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64802616

复制
相关文章

相似问题

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