这两天在和一小伙伴研究解决RabbitMQ集群重启慢导致Consumer自动重连超时的问题,已经有了解决方案。接下来需要做个整理。由于同时涉及到springboot自动配置、springboot-amqp、spring-rabbit等诸多技术,先往后拖一下。
本文说什么呢?通过一个程序案例来聊聊程序里随处可见的interface。
先来个四连问:什么情况下定义interface?为什么要定义interface?定义interface是为了什么?你用对interface了吗?
接下来看这个案例吧。
程序里使用了RabbitMQ,下面 MQSender 是个interface,定义了生产者往mq放消息的两种方式:
```
package com.yft.rabbitmq.service;
import com.yft.rabbitmq.constant.BindingEnum;
/**
* 延迟发送服务类
*
* @author liuhongjie hongjie.liu@serviceshare.com