5.2 和 5.3 之間的更改

新元件

整合模式

引入了 IntegrationPattern 抽象,以指示 Spring Integration 元件屬於哪種企業整合模式(一個 IntegrationPatternType)和類別。有關此抽象及其用例的更多資訊,請參閱其 JavaDocs 和 整合圖

ReactiveMessageHandler

ReactiveMessageHandler 現在在框架中得到原生支援。有關更多資訊,請參見 ReactiveMessageHandler

ReactiveMessageSourceProducer

ReactiveMessageSourceProducerMessageProducerSupport 的響應式實現,它將提供的 MessageSource 包裝成一個 Flux,用於按需的 receive() 呼叫。有關更多資訊,請參見 響應式流支援

Java DSL 擴充套件

引入了新的 IntegrationFlowExtension API,以允許透過自定義或組合的 EIP 運算子擴充套件現有的 Java DSL。這也可以用於為任何開箱即用的 IntegrationComponentSpec 擴充套件引入自定義器。有關更多資訊,請參見 DSL 擴充套件

Kotlin DSL

引入了用於整合流配置的 Kotlin DSL。有關更多資訊,請參見 Kotlin DSL 章

ReactiveRequestHandlerAdvice

提供了 ReactiveRequestHandlerAdvice 以自定義來自訊息處理程式的 Mono 回覆。有關更多資訊,請參見 響應式通知

HandleMessageAdviceAdapter

提供了 HandleMessageAdviceAdapter 以包裝任何 MethodInterceptor,用於應用於 MessageHandler.handleMessage(),而不是預設的 AbstractReplyProducingMessageHandler.RequestHandler.handleRequestMessage() 行為。有關更多資訊,請參見 處理訊息通知

MongoDB 響應式通道介面卡

spring-integration-mongodb 模組現在為 Spring Data 中的響應式 MongoDb 驅動程式支援提供通道介面卡實現。此外,使用 MongoDbChangeStreamMessageProducer 提供了 MongoDb 更改流支援的響應式實現。有關更多資訊,請參見 MongoDB 支援

ReceiveMessageAdvice

引入了特殊的 ReceiveMessageAdvice,用於精確地代理 MessageSource.receive()PollableChannel.receive()。有關更多資訊,請參見 智慧輪詢

一般更改

閘道器代理現在預設不再代理 default 方法。有關更多資訊,請參見 呼叫 default 方法

內部元件(例如 _org.springframework.integration.errorLogger)在整合圖中表示時現在具有縮短的名稱。有關更多資訊,請參見 整合圖

在聚合器中,當 MessageGroupProcessor 返回 Message 時,如果 sequenceDetails 與組中第一條訊息的頭匹配,則會在輸出訊息上執行 MessageBuilder.popSequenceDetails()。有關更多資訊,請參見 聚合器程式設計模型

Java DSL 中添加了一個新的 publishSubscribeChannel() 運算子,它基於 BroadcastCapableChannelBroadcastPublishSubscribeSpec。當我們配置子流作為代理支援通道(如 SubscribableJmsChannelSubscribableRedisChannel 等)的釋出-訂閱訂閱者時,此流式 API 具有優勢。有關更多資訊,請參見 子流支援

Spring Integration 中的事務支援現在還包括配置 ReactiveTransactionManager 的選項,如果 MessageSourceMessageHandler 實現生成用於傳送負載的響應式型別。有關更多資訊,請參見 TransactionInterceptorBuilder。另請參見 響應式事務

Java DSL 中添加了一個新的 intercept() 運算子,用於註冊 ChannelInterceptor 例項而無需建立顯式通道。有關更多資訊,請參見 運算子 intercept()

MessageStoreSelector 有一種新的機制來比較舊值和新值。有關更多資訊,請參見 冪等接收器企業整合模式

MessageProducerSupport 基類現在具有 subscribeToPublisher(Publisher<? extends Message<?>>) API,以允許實現透過響應式 Publisher 傳送訊息的訊息驅動生產者端點。有關更多資訊,請參見 響應式流支援

AMQP 更改

出站通道介面卡有一個新的屬性 multiSend,允許在一個 RabbitTemplate 呼叫範圍內傳送多條訊息。有關更多資訊,請參見 AMQP 出站通道介面卡

入站通道介面卡現在支援具有 consumerBatchEnabled 屬性設定為 true 的偵聽器容器。有關更多資訊,請參見 AMQP 入站通道介面卡

HTTP 更改

AbstractHttpRequestExecutingMessageHandler 上的 encodeUri 屬性已被棄用,取而代之的是新引入的 encodingMode。有關更多資訊,請參見 DefaultUriBuilderFactory.EncodingMode JavaDocs 和 控制 URI 編碼。這也會影響 WebFluxRequestExecutingMessageHandler、相應的 Java DSL 和 XML 配置。相同的選項也新增到 AbstractWebServiceOutboundGateway 中。

Web 服務更改

已為 Web 服務元件添加了 Java DSL 支援。AbstractWebServiceOutboundGateway 上的 encodeUri 屬性已被棄用,取而代之的是新引入的 encodingMode,類似於上面的 HTTP 更改。有關更多資訊,請參見 Web 服務支援

TCP 更改

FailoverClientConnectionFactory 預設情況下不再回退,直到當前連線失敗。有關更多資訊,請參見 TCP 故障轉移客戶端連線工廠

TcpOutboundGateway 現在支援非同步請求/回覆。有關更多資訊,請參見 TCP 閘道器

您現在可以配置客戶端連線以在新連線上執行一些任意測試。有關更多資訊,請參見 測試連線

RSocket 更改

已為 RSocketInboundGateway 添加了 decodeFluxAsUnit 選項,其含義是將傳入的 Flux 解碼為單個單元,或對其中的每個事件應用解碼。有關更多資訊,請參見 RSocket 入站閘道器

Zookeeper 更改

LeaderInitiatorFactoryBean(以及其 XML <int-zk:leader-listener>)公開了一個 candidate 選項,用於更好地控制 Candidate 配置。有關更多資訊,請參見 領導事件處理

MQTT 更改

現在可以配置入站通道介面卡,以提供使用者控制何時確認訊息已送達。有關更多資訊,請參見 手動確認

當無法建立連線或連線丟失時,出站介面卡現在會發布 MqttConnectionFailedEvent。以前只有入站介面卡會這樣做。請參見 MQTT 事件

(S)FTP 更改

FileTransferringMessageHandler(例如,用於 FTP 和 SFTP)除了 Filebyte[]StringInputStream 之外,現在還支援 org.springframework.core.io.Resource。有關更多資訊,請參見 SFTP 支援FTP 支援

檔案更改

FileSplittermarkersJson 模式下不再需要 Jackson 處理器(或類似)依賴項。它使用 SimpleJsonSerializer 來表示 FileSplitter.FileMarker 例項的直接字串。有關更多資訊,請參見 FileSplitter

© . This site is unofficial and not affiliated with VMware.