BlockedListener 是监听连接阻塞情况的监听器
这个监听器在服务器内存报警或者硬盘报警的情况下,使用发送接口会产生阻塞,如果发送和接受等使用同一个连接,则会都阻塞,因此我们应该为消费者和生产者使用不同的CachingConnectionFactory,或者设置rabbitTemplate.setUsePublisherConnection(true);
BlockedListener的代码
@Slf4j
@Service
public class RabbitBlockedListener implements BlockedListener {
@Override
public void handleBlocked(String s) throws IOException {
log.info("=========================connection blocked, reason: {}", s);
}
@Override
public void handleUnblocked() throws IOException {
log.info("==============================connection unblocked");
}
}