AMQP协议本身包括三层:
- Module Layer:协议最高层,主要定义了一些供客户端调用的命令,客户端可以利用这些命令实现自己的业务逻辑。例如,客户端可以使用Queue.Declare命令声明一个队列或者使用Basic.Consume订阅消费一个队列中的消息
- Session Layer:中间层,主要负责将客户端的命令发送给服务器,再将服务端的应答返回给客户端,主要为客户端和服务端之间的通信提供可靠的同步机制和错误处理。
- Transport Layer:最底层,主要传输二进制流,提供帧的处理、信道复用、错误检测和数据表示等
AMQP生产者流转过程
Connection connection = factory.newConnection();//创建连接
Channel channel = connection.createChannel();//创建信道
String message = "Hello World";
channel.basicPublish(EXCHANGE_NAME,ROUTING_KEY,MessageProperties.PERSISTENT_TEXT_PLAIN,message.getBytes());
channel.close();
connection.close();

AMQP消费者流转过程
Connection connection = factory.newConnection(addresses);//创建连接
final Channel channel = Connection.createChannel();//创建信道
Consumer consumer = new D