Spring Integration 團隊自豪地宣佈 Spring Integration Extensions 倉庫現已可用。這個新的基於 GitHub 的倉庫的主要目標是促進介面卡和擴充套件開發人員的活躍社群,並鼓勵更廣泛的社群參與到專案中來。Spring Integration Extensions 專案託管在:
這個新倉庫將使我們能夠更快速地整合新的貢獻,而無需經過核心 Spring Integration 框架更嚴格的審查過程。由於每個社群貢獻的擴充套件在 Spring Integration Extensions 倉庫中都是一個獨立的子專案,它將擁有自己的釋出生命週期,獨立於管理核心 Spring Integration 框架的生命週期。因此,這將允許更頻繁的釋出。
隨著時間的推移,我們預計一些使用較少的 Spring Integration 模組可能會遷移到 Extensions 倉庫中。另一方面,對於某些擴充套件模組,Spring Integration Extensions 專案也可能充當孵化器,最終可能被整合到核心 Spring Integration 框架中。
感謝幾個社群貢獻,新倉庫已經提供了一些介面卡,例如XQuery 介面卡(包括支援XPath 2.0)和SMB 介面卡。未來幾周將新增幾個與 Amazon Web Services (AWS) 相關的介面卡(Amazon S3、Amazon SNS、Amazon SQS)。此外,我們還提供了Print 介面卡的早期版本,並且我們也在開發一個使用 Atmosphere 提供WebSocket 支援的介面卡。
如何成為貢獻者?
如果您對新的擴充套件和/或介面卡有想法,請隨時提交 JIRA 票。如果您已經建立了一個擴充套件模組並希望貢獻程式碼,請 Fork Spring Integration Extensions 倉庫,新增您的模組並提交拉取請求 (pull request)。但在我們合併您的程式碼之前,您必須填寫貢獻者許可協議。提交後,我們和/或其他社群成員將審查您的拉取請求併合並它。欲瞭解更詳細的資訊,請仔細閱讀 Spring Integration Extensions 專案的貢獻者指南。
建立新的 Spring Integration 擴充套件模組
Spring Integration 介面卡是更受歡迎的擴充套件型別之一。為了簡化為 Spring Integration 編寫自定義介面卡的過程,我們現在為 SpringSource Tool Suite (STS) 3.0.0 提供了一個介面卡模板。這個模板將使貢獻者非常容易快速構建新的介面卡,同時仍然確保與核心 Spring Integration 框架中提供的介面卡保持一致(包結構、命名約定、名稱空間處理器/解析器等)。
Spring Integration 介面卡模板是 Spring Integration Templates 專案的一部分,它會建立一個功能齊全的Spring Integration 模組,並且該模板將建立以下常用元件:
該模板不僅會建立核心 Java 類和一些基本單元測試,還會提供 XML Namespace 支援,包括 XML Schema 和相關的解析器類。即使您建立其他型別的元件,此模板也應該為您提供有關如何開發這些元件的寶貴見解。有關使用 STS 模板進行 Spring Integration 的更多資訊,請參閱以下博文:
建立的介面卡專案將使用 Gradle 作為其構建工具,並且它嚴格遵循為 Spring Integration 定義的構建任務:
構建介面卡專案
$ ./gradlew build
將介面卡專案安裝到您的本地 Maven 倉庫
$ ./gradlew install
生成 JavaDoc
$ ./gradlew api
$ ./gradlew sonar
構建完整分發包
$ ./gradlew dist
更多資訊請參閱 Spring Integration Extensions Wiki 上的如何建立新元件。
更多資源
Spring Integration GitHub 倉庫
為了完整起見,以下是所有與 Spring Integration 相關的 GitHub 倉庫列表: