Spring AMQP 2.0 Milestone 1 发布了。Spring AMQP 是基于 Spring 框架的 AMQP 消息解决方案，提供模板化的发送和接收消息的抽象层，提供基于消息驱动的 POJO。
The framework is now fully Java 8 based; several functional interfaces are provided for convenient Lambda implementations (callbacks,
ReplyingMessageListener etc). Java 8 is now a requirement.
The framework uses the new 4.0 amqp-client library.
DirectMessageListenerContainer is now available alongside the existing
SimpleMessageListenerContainer. The new container actually has a simpler architecture and the listener is called directly on the amqp-client thread (hence the name
Direct…). See Choosing a Container to help you decide which container is appropriate for your application.
A subclass -
DirectReplyToMessageLisenerContainer - is also provided, specifically for using the RabbitMQ Direct ReplyTo feature for request/reply messaging. This is now used by the
RabbitTemplate (by default) rather than creating a consumer per request/reply as was the case previously. Consumers are cached for reuse.
AsyncRabbitTemplate now supports direct replyTo, utilizing the new container; previously the async template did not support direct replyTo.
@RabbitListener annotations can now be configured with an error handler and the ability to send exceptions to the sender when request/reply messaging is being used.
Connection and channel listeners now receive shutdown signals.
You can now assign names to connections created by Spring AMQP - the name appears on the RabbitMQ Admin UI.
Limited stateful retry (1 redelivery attempt) is now available (when an inbound message does not have a message id) without the need to configure a
MissingMessageIdAdvice which has now been removed from the framework. Spring Retry 1.2 is required to support this feature.
The log4j appender is no longer provided due to the EOL of log4j (the log4j2 and logback appenders remain available).