領先一步
VMware 提供培訓和認證,以加速您的進度。
了解更多我很高興宣布 Spring Integration 4.3.0.RC1 的釋出 - 第一個 (也是最後一個) 發佈候選版本;它可以從 spring milestone repo 取得。 GA 版本應在 Spring Framework 4.3 的 GA 版本之後不久發布。
4.2.6.RELEASE 也可在 spring release repo 以及 maven central 中取得。 此版本包含一些 重要的錯誤修復,建議所有使用者升級到此版本。
4.3 僅是與 4.2 相比的次要版本,具有一些新功能和改進,並將結束 4.x 系列。 同時,我們期待在 Spring Integration 5.0 中採用 JVM 的反應式基礎 (Reactive Foundation for the JVM)。 我們尚未確定這意味著什麼,敬請關注! 此外,5.0 (2017) 將包含(目前是獨立的)Spring Integration Java DSL。
以下是此版本的一些重點(其中一些先前已在較早的里程碑中宣布)
先前已宣布
HeaderMapper
的 negate
選項,允許使用邏輯 NOT !
排除請求和/或回應標頭。 (例如,!foo,*
- 映射除 foo
之外的所有標頭)。
ErrorMessageExceptionTypeRouter
的 Exception
超類別映射,以避免不同繼承者的映射重複。
FTP 适配器中 list()
和 listNames()
函数的 null
远程目录支持,以满足列出当前工作目录时的标准 FTP 协议支持。
一個選項,用於更改 Redis 佇列适配器中 Redis 列表 Push/Pop 操作的方向。
FileWritingMessageHandler
子路徑 支援檔案名稱,允許在本地恢復目錄結構,例如,在 解壓縮 後。
升級到 Smack-4.1.x。
升級到 Spring Amqp 1.6,並支援其新功能,例如延遲訊息交換。
Spring Integration 運行時物件模型以及元件指標現在可以作為 graph
公開,可用於視覺化整合應用程式的目前狀態。 在 Web 容器中執行時,@EnableIntegrationGraphController
註釋以及 IntegrationGraphServer
bean 會建立一個服務,以透過 REST 協定(例如,JSON 表示法)檢索模型和狀態
{
"nodes": [
{
"nodeId": 1,
"name": "nullChannel",
"componentType": "channel",
},
{
"nodeId": 2,
"name": "errorChannel",
"componentType": "publish-subscribe-channel",
},
{
"nodeId": 3,
"name": "_org.springframework.integration.errorLogger",
"componentType": "logging-channel-adapter",
"output": null,
"input": "errorChannel"
}
],
"links": [
{
"from": 2,
"to": 3
}
]
}
延續 Spring Integration 的傳統,訊息通道在此模型中被表示為一流的公民(節點),而不僅僅是節點之間的連結。 此外,啟用統計資訊時 (@EnableIntegrationManagement
或 <int:management />
),物件圖中的每個節點都包含這些統計資訊(訊息計數、回應時間等)。 (自上次里程碑中宣布該圖以來,已進行了一些改進,包括:支援鏈 - 處理常式列表,
持續性 MessageStore
現在支援 Lazy-Load
演算法(預設啟用)來檢索 MessageGroup
。 在處理具有聚合等操作的大型持久化群組時,這會產生顯著的效能優勢。
Service Activator 現在支援 async
選項。 如果服務傳回 ListenableFuture<?>
且 async
為 true
,則呼叫執行緒會立即釋放,並且回覆訊息會在完成 future 的執行緒上傳送(從您的服務中)。 基於此基礎,我們還提供 AsyncAmqpOutboundGateway
和 JmsOutboundGateway
的 async
模式,其中下游流程在回覆接聽器容器執行緒上執行。
XMPP 适配器現在支援 Extensions
(XEP)。 因此,例如,您可以更輕鬆地與 Google Cloud Messaging (GCM) 互動
<int-xmpp:inbound-channel-adapter id="xmppInboundAdapter"
payload-expression="getExtension('google:mobile:data').json"/>
...
<bean id="gcmExtensionProvider" class="org.jivesoftware.smackx.gcm.provider.GcmExtensionProvider"/>
<int-xmpp:outbound-channel-adapter id="xmppOutboundAdapter"
extension-provider="gcmExtensionProvider"/>
現在可以使用 compile-static
或 compiler-configuration
配置 Groovy 腳本,以提高效能或為目標 AST 提供一些奇特的自訂。
WatchServiceDirectoryScanner
進行了一些改進。 它的邏輯已透過 use-watch-service
旗標直接移至 FileReadingMessageSource
。 此外,我們可以指定要在目錄樹上偵聽的 WatchEventType
。 此外,StandardWatchEventKinds.ENTRY_DELETE
事件被視為 ResettableFileListFilter.remove()
操作,例如,從 AcceptOnceFilteListFilter
中移除檔案。
已實作了更多 通道延遲綁定 的案例。 例如,在 was WireTap
中,這導致
Spring Integration Java DSL 中的 MessageChannelSpec.wireTap()
功能。
此 RC 中的新功能
FTP/SFTP 传入通道适配器现在可以支持文件内容的直接流式传输,从而避免复制到本地文件系统。
現在可以將 TCP 反序列化器配置為使用緩衝區池。
各種小錯誤修復和改進。
此版本解决了 超過 125 個 JIRA 問題。 另請參閱 新功能,以取得主要變更的摘要。 我們非常感謝許多對專案的外部貢獻 - 謝謝大家!
專案頁面 | JIRA | [貢獻] (https://github.com/spring-projects/spring-integration/blob/master/CONTRIBUTING.md) | StackOverflow (spring-integration
標籤)
如果您要參加在巴塞隆納舉行的 Spring IO,我將於 5 月 20 日星期五談論 Spring Integration 和 Spring AMQP。 Spring 團隊成員還有許多其他精彩的演講,因此請查看 議程。
這也提醒大家,Spring One Platform 將於今年 8 月 1 日至 4 日在拉斯維加斯舉行,如果您尚未這樣做,則應考慮取得門票。