rabbitTemplate.convertAndSend方法内部是同步还是异步的

来源:3-6 发送迅速异步消息

techa

2020-05-30 14:57:02

我本地试了一下,如果把rabbitmq服务关了,convertAndSend方法会一直等待直到超时,感觉像是同步执行的

写回答

1回答

阿神

2020-05-30

主要你点进去看源码,里面是异步线程池执行的

1
hecha
h @Override public void send(final String exchange, final String routingKey, final Message message, @Nullable final CorrelationData correlationData) throws AmqpException { execute(channel -> { doSend(channel, exchange, routingKey, message, (RabbitTemplate.this.returnCallback != null || (correlationData != null && StringUtils.hasText(correlationData.getId()))) && RabbitTemplate.this.mandatoryExpression.getValue( RabbitTemplate.this.evaluationContext, message, Boolean.class), correlationData); return null; }, obtainTargetConnectionFactory(this.sendConnectionFactorySelectorExpression, message)); } 老师你是说这里的execute是异步的吗?
h020-05-30
共1条回复

Java架构师-技术专家

千万级电商项目从0到100全过程,覆盖Java程序员不同成长阶段的核心问题与解决方案

2672 学习 · 5839 问题

查看课程