首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring messaging AMQP需要接受所需群组关于消息传递的回复

Spring messaging AMQP需要接受所需群组关于消息传递的回复
EN

Stack Overflow用户
提问于 2017-04-09 04:16:32
回答 1查看 117关注 0票数 1

我有一个关于spring-messaging (spring集成+ amqp)与RabbitMQ的问题。我有一个基于微服务架构的应用程序。一条服务发布消息,方式如下:

代码语言:javascript
复制
@EventListener(AfterCreationEvent.class)
@Publisher(channel = "messages")
public Message<Message> onCreateEntity(AfterCreationEvent<Message> event) {
    if (isDisabled()) return null;
    String id = event.getSource().getId();
    return MessageBuilder.withPayload(event.getSource())
            .build();
}

和其他消息正在监听,例如

代码语言:javascript
复制
@StreamListener("messages")
public void onMessageReceived(@Payload Message input) {
    messageService.save(input)
}

微服务具有以下基本配置:

代码语言:javascript
复制
spring:
  rabbitmq:
    host: rabbit
    port: 5672
  cloud:
    stream:
      bindings:
        messages:
          producer:
            required-groups: terminal,chat,security
          destination: message.share
          binder: rabbit
      binders:
        rabbit:
          type: rabbit

每个服务都有自己的配置,例如:

代码语言:javascript
复制
spring:
  application.name: message
  cloud:
    stream:
      bindings:
        messages:
          content-type: application/json

代码语言:javascript
复制
spring:
  application.name: terminal
  cloud:
    stream:
      bindings:
        messages:
          group: terminal

它工作得很好。但它是以异步方式工作的,但我希望收到来自每个所需组的回复,该消息已被传递。有可能吗?

现在我正在使用spring-integration-amqp:4.3.1版本

EN

回答 1

Stack Overflow用户

发布于 2017-04-09 04:21:42

消息传递amqp本质上是异步的,因此在默认情况下,您不能等待回复。您需要自己实现等待机制。一种方法是利用消息的相关is。

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

https://stackoverflow.com/questions/43299947

复制
相关文章

相似问题

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