新的 Spring Integration 示例

工程 | Oleg Zhurakousky | 2010 年 9 月 29 日 | ...

基於大家對更多 Spring Integration 示例和更可用結構的大量請求,我們很高興做出以下宣佈

從當前版本的 Spring Integration 開始,示例將不再包含在 Spring Integration 分發包中。相反,我們切換到了一個更簡單的協作模式,該模式應能促進更好的社群參與和貢獻。示例現在擁有一個專用的 Git SCM 倉庫和一個專用的 JIRA 問題跟蹤系統。示例開發也將有其自己的生命週期,該生命週期不依賴於框架釋出的生命週期,儘管出於相容性原因,每個主要版本仍然會為倉庫打標籤。這對社群的巨大好處是,我們現在可以新增更多示例並立即提供給您,而無需等待框架釋出。擁有一個不與實際框架繫結的獨立 JIRA 也是一個巨大的好處。您現在擁有一個專用場所來建議示例以及報告現有示例的問題。或者,您也可以透過 JIRA 以附件形式向我們提交示例,如果我們認為您的示例具有價值,我們將非常樂意將其新增到我們的示例倉庫中,並妥善署名作者。

在哪裡獲取示例

要監控示例開發並獲取有關倉庫的更多資訊,您可以訪問以下 URL:http://git.springsource.org/spring-integration/samples 。我們也將 Git SCM 用作示例倉庫。有關 Git SCM 的更多資訊,請訪問其網站:https://git-scm.tw/

克隆示例倉庫。(對於不熟悉 Git 的人來說,這有點類似於 checkout。)

這是您應該完成的第一步。您的機器上必須安裝 Git 客戶端。有許多適用於各種平臺的基於 GUI 的產品可用。簡單的 Google 搜尋即可找到它們。要從命令列克隆示例倉庫

> mkdir spring-integration-samples > cd spring-integration-samples > git clone git://git.springsource.org/spring-integration/samples.git
這就是您需要做的全部。現在您已經克隆了整個示例倉庫。由於示例倉庫是一個活躍的倉庫,您可能希望定期更新以獲取新的示例以及對現有示例的更新。要獲取更新,請使用 git PULL 命令
> git pull

跟蹤示例

如前所述,Spring Integration 示例有一個專用的 JIRA 問題跟蹤系統。要提交新的示例請求或提交實際示例(作為附件),請訪問我們的 JIRA 問題跟蹤系統:https://jira.springframework.org/browse/INTSAMPLES

示例結構

示例的結構也發生了變化。隨著計劃增加更多示例,我們意識到有些示例與其他示例的目標不同。雖然它們都具有展示如何應用和使用 Spring Integration 框架的共同目標,但在某些方面有所不同:有些示例旨在專注於技術用例,而另一些則專注於業務用例,還有一些示例則完全是為了展示可以應用於解決特定場景(技術和業務)的各種技術。對示例進行分類將使我們能夠更好地根據每個示例解決的問題來組織它們,同時為您提供一種更簡單的方式來找到合適的示例。

目前有 4 個類別。在示例倉庫中,每個類別都有自己的目錄,目錄名稱與其類別名稱相同

BASIC(基礎)
(samples/basic) 這是個入門的好地方。這裡的示例都是技術驅動的,展示了配置和程式碼方面的最低要求,透過介紹 Spring Integration 的基本概念、API 和配置以及企業整合模式 (EIP),幫助您快速入門。例如,如果您正在尋找如何實現 Service Activator 並將其連線到 Channel,或者如何使用 Messaging Gateway 進行訊息交換,或者如何開始使用 MAIL 或 TCP/UDP 模組等問題的答案,這裡將是找到好示例的正確地方。總而言之,這裡是個入門的好地方。
INTERMEDIATE(中級)
(samples/intermediate) 此類別面向已熟悉 Spring Integration 框架(已入門)但需要更多指導來解決更高階技術問題的開發人員,這些問題是在他們轉向訊息架構後可能遇到的。例如,如果您正在尋找如何在各種訊息交換場景中處理錯誤、如何在某些訊息可能永遠不會到達進行聚合的情況下正確配置 Aggregator 等問題的答案,以及任何超出特定元件基本實現和配置範圍並解決“還能用它做什麼”型別問題的示例,這裡將是找到此類示例的正確地方。
ADVANCED(高階)
(samples/advanced) 此類別面向非常熟悉 Spring Integration 框架但希望透過使用 Spring Integration 公共 API 擴充套件其功能以滿足特定自定義需求的開發人員。例如,如果您正在尋找展示如何實現自定義 Channel 或 Consumer(基於事件或基於輪詢)的示例,或者您正在嘗試弄清楚在為自定義元件實現自定義名稱空間時,如何在 Spring Integration Bean 解析器層次結構之上實現自定義 Bean 解析器的最合適方法,這裡將是您查詢的正確地方。在這裡,您還可以找到有助於介面卡開發的示例。Spring Integration 提供了一個豐富的介面卡庫,允許您將遠端系統與 Spring Integration 訊息傳遞框架連線起來。但是,您可能需要與核心框架未提供介面卡的系統整合。因此您必須實現自己的介面卡。此類別將包含向您展示如何實現此功能的示例。
APPLICATIONS(應用)
(samples/applications) 此類別面向對訊息架構、EIP 以及對 SpringSpring Integration 框架有高於平均水平理解的開發人員和架構師,他們正在尋找解決特定業務問題的示例。換句話說,此類別示例的重點是業務用例,以及如何透過訊息架構特別是 Spring Integration 來解決這些問題。例如,如果您有興趣瞭解如何透過 Spring Integration 實現和自動化貸款經紀人或旅行代理流程,這裡將是找到此類示例的正確地方。
Spring Integration 示例也用主要版本打了標籤。因此,要檢出特定於 2.0.0.RELEASE 的版本,您只需在克隆倉庫後執行以下 Git 命令:"git checkout v2.0.0.RELEASE"。
請記住!Spring Integration 是一個社群驅動的框架,因此社群參與至關重要。這也包括示例,所以如果您找不到您想要的內容,請告訴我們。當然,隨時歡迎反饋!

獲取 Spring 通訊

透過 Spring 通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲取支援

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

瞭解更多

即將舉辦的活動

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

檢視全部