基於您們對於更多 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.dev.org.tw/ 複製範例儲存庫。(對於不熟悉 Git 的人來說,這有點像簽出。)
這是您應該執行的第一個步驟。您的機器上必須安裝 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 解析器的最合適方法,那麼這裡將是尋找的正確地方。在這裡,您還可以找到可協助您進行 Adapter 開發的範例。Spring Integration 附帶了廣泛的 Adapter 程式庫,可讓您將遠端系統與 Spring Integration 訊息傳遞框架連接。但是,您可能需要與核心框架未提供 Adapter 的系統整合。因此,您必須實作自己的 Adapter。此類別將包含展示如何執行此操作的範例。
APPLICATIONS
(samples/applications)此類別的目標對象是開發人員和架構師,他們對訊息架構、
EIP 和高於平均水平的
Spring 和
Spring Integration 框架有良好的理解,並且正在尋找解決特定業務問題的範例。換句話說,此類別中範例的重點是業務用例,以及如何透過訊息架構,尤其是 Spring Integration 來解決這些用例。例如;如果您有興趣了解如何透過 Spring Integration 實作和自動化貸款經紀人或旅行社流程,那麼這裡將是找到這些類型範例的正確地方。
Spring Integration 範例也標記了主要版本。因此,若要簽出特定於 2.0.0.RELEASE 的版本,您只需在複製儲存庫「git checkout v2.0.0.RELEASE」後執行以下 Git 命令即可。
請記住!Spring Integration 是一個社群驅動的框架,因此社群參與非常重要。這包括範例,因此如果您找不到您要找的東西,請告訴我們。當然,隨時歡迎回饋!