領先一步
VMware 提供培訓和認證來加速您的進步。
瞭解更多我們很高興宣佈 Spring AMQP 1.4 的候選版本釋出;GA 計劃於 11 月初發布。
首先,感謝大家為 1.4 M1 里程碑版本提供反饋並提交報告(錯誤或新功能)。特別感謝 Stéphane Nicoll,他引入了基於註解的訊息監聽器 (@RabbitListener
) 和新的 RabbitMessagingTemplate
。
@SendTo
註解將方法的結果作為回覆訊息傳送(當入站訊息中沒有 replyTo
時)@RabbitListener(queues = "capitalize")
@SendTo("capitalize.reply")
public String capitalize(String s) {
return s.toUpperCase();
}
(基於註解的監聽器需要 Spring Framework 4.1.x)。
引入了新的 RabbitMessagingTemplate
,允許使用 spring-messaging
Message<?>
抽象作為 Spring AMQP Message
的替代方案(註解監聽器也支援 Spring Messaging Message<?>
)。
現在可以使用 Logback AmqpAppender
,其配置與現有的 Log4j AmqpAppender
類似
<appender name="AMQP" class="org.springframework.amqp.rabbit.logback.AmqpAppender">
<layout>
<pattern><![CDATA[ %d %p %t [%c] - <%m>%n ]]></pattern>
</layout>
<abbreviation>36</abbreviation>
<applicationId>MyApplication</applicationId>
<routingKeyPattern>%property{applicationId}.%c.%p</routingKeyPattern>
<generateId>true</generateId>
<charset>UTF-8</charset>
<durable>false</durable>
<deliveryMode>NON_PERSISTENT</deliveryMode>
</appender>
expression
屬性的 AbstractRoutingConnectionFactory
配置 RabbitTemplate
,以根據 RabbitTemplate
操作確定目標 ConnectionFactory
<rabbit:template connection-factory="RoutingConnectionFactory"
send-connection-factory-selector-expression="messageProperties.userId"
receive-connection-factory-selector-expression="#root == 'fooQueue' ? 'foo' : null"/>
mandatory-expression
屬性已新增到 RabbitTemplate
,用於為每個傳送的訊息設定 mandatory
標誌<rabbit:template connection-factory="connectionFactory"
mandatory-expression="messageProperties.contentType == 'application/json'"/>
(以前,mandatory
在模板級別設定)。
AbstractRoutingConnectionFactory
現在也支援 MessageListenerContainer
,其中 key
用於目標 ConnectionFactory
基於配置的 queueNames
陣列