領先一步
VMware 提供培訓和認證,以加速您的進度。
了解更多我們很高興宣布 Spring AMQP 1.6 發布候選版本 (1.6.0.RC1) 現在已在 spring milestone repo 中提供。
1.5.6 維護版本也已發布,其中包含一些錯誤修復。
以下是 1.6.0 版本內容的摘要,如需更多詳細資訊,請參閱參考文件中的新功能,以及此版本的已關閉 JIRA 問題。
一個新的 jar 檔案 spring-rabbit-test
包含一個測試套件,以幫助測試 @RabbitListener
方法;請參閱測試章節。
一個方法上的多個 @RabbitListener
註解(當使用 Java 8 時)和 @RabbitListeners
註解(對於 pre-Java 8),每個都允許相同的方法成為多個監聽器容器的監聽器方法。
完全支援 延遲訊息交換 RabbitMQ 外掛程式。
AsyncRabbitTemplate
回傳 ListenableFuture<?>
用於請求/回覆訊息傳遞。
一個選項,用於在監聽器容器進入閒置狀態時發布 ApplicationEvents
。
快取連線工廠現在公開快取統計資訊
@RabbitListener
方法現在將型別資訊傳達給訊息轉換器,用於接收訊息。 例如,這表示當收到標頭中沒有型別資訊的訊息時(例如,來自非 Spring AMQP 應用程式的傳送者),Jackson2JsonMessageConverter
不再需要自訂類別對應器。 相反,@RabbitListener
方法參數型別用於轉換。 此外,Method
和 bean
也透過訊息屬性提供給自訂轉換器。
@Bean
public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(
ConnectionFactory rabbitConnectionFactory) {
SimpleRabbitListenerContainerFactory factory =
new SimpleRabbitListenerContainerFactory();
factory.setConnectionFactory(rabbitConnectionFactory);
factory.setMessageConverter(new Jackson2JsonMessageConverter());
return factory;
}
public static class MyService {
@RabbitListener(queues="foos")
public void handleFoos(Foo foo) {
...
}
@RabbitListener(queues="lists.of.bars")
public void handleBarLists(List<Bar> bars) {
...
}
}
@RabbitListener
不可恢復的錯誤現在被預設錯誤處理常式視為致命錯誤,以避免無休止地重新傳遞這些訊息。
@RabbitListener
@SendTo
位址(當接收訊息沒有 replyTo
時使用)現在可以包含一個 SpEL
表達式,在執行時針對輸入和輸出訊息進行評估。
當使用 Java 序列化訊息時,您現在可以指定一個允許反序列化的類別/套件的「白名單」。 建議從不受信任的來源接收序列化物件時使用此方法。
您現在可以宣告「內部」交換器,訊息無法直接發布到這些交換器。
現在可以使用多個代理位址配置日誌附加器,並且可以設定客戶端屬性。
@QueueBinding
註解現在支援佇列、交換器和綁定的引數。
我們預計在 5 月底發布最終版本。
請下載並試用發布候選版本,以便我們在 GA 之前解決任何問題。 接下來 (2017) 是 2.0 版本,可能需要 Spring 5 並包含一些 Reactive Streams 工作。
我們歡迎使用常用機制提供任何回饋、問題或幫助