springboot 和 rabbitmq 实现同步和异步队列

异步队列配置代码

@Component
@RabbitListener(bindings = {@QueueBinding(value = @Queue(value = "async"), exchange = @Exchange(value = "async.exchange"))})
public class AsyncConsumer  {

    public void execute(Message message) {

    }
}

异步发送消息发送代码

 amqpTemplate.convertAndSend('async.exchange','','内容');

同步队列配置代码


@Component
@RabbitListener(queues = "sync")
public class SyncConsumer {
    @Override
    public Boolean execute(Message message) {

        return true;
    }
}

同步发送消息发送代码

 Object content = amqpTemplate.convertSendAndReceive('async.exchange','','内容');

以上就是同步和异步的配置方式和发送消息方式

同步发送消息时有超时时间如果超过配置时间则视为失败,这个配置可以在
RabbitTemplate 的 setReplyTimeout 配置超时时间 配置为-1时是无视超时间,默认超时时间为5秒。

你可能感兴趣的:(java,rabbitmq)