Spring AMQP 1.4 RC1 釋出

釋出 | Artem Bilan | 2014 年 10 月 23 日 | ...

我們很高興宣佈 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 陣列

有關更多資訊,請參閱 發行說明專案頁面

獲取 Spring 新聞通訊

訂閱 Spring 新聞通訊以保持聯絡

訂閱

領先一步

VMware 提供培訓和認證來加速您的進步。

瞭解更多

獲取支援

Tanzu Spring 在一個簡單的訂閱中提供對 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案。

瞭解更多

即將舉行的活動

檢視 Spring 社群中所有即將舉行的活動。

檢視全部