Spring Dynamic Modules 達到 1.0 版本!

工程 | Adrian Colyer | 2008年1月25日 | ...

好吧,這比我們最初預期的要花費更長的時間,但我很高興地說,Spring Dynamic Modules 專案今天達到了其 1.0 版本里程碑。當我於 2006 年 9 月首次釋出有關此主題的文章(“Spring OSGi 支援勢頭強勁”)時,最初的規範只是 Spring Framework 的一個問題附件,並且與更廣泛的 OSGi 社群的聯絡才剛剛開始形成。

快進十八個月,Spring Dynamic Modules 已經成為 Spring 產品組合中的一個成熟專案,SpringSource、BEA 和 Oracle 的提交者都參與其中。BEA 和 Oracle 都在使用 Spring Dynamic Modules 來構建自己的基於 OSGi 的產品(例如,請參閱“WebLogic Event Server - 我們為何使用 Spring”),Spring Dynamic Modules 討論組已有近 1000 名成員。OSGi 聯盟本身還成立了一個企業專家組,SpringSource 是該組織的一個活躍成員。

每當我們與會討論 OSGi 和 Spring Dynamic Modules 時,都能感受到極大的興趣。那麼,這一切轟動究竟是怎麼回事呢?

OSGi 服務平臺是一個久經考驗的輕量級執行時,提供了一個“Java 的動態模組系統”。它被用於從嵌入式裝置、汽車和電信應用,到 IBM、BEA 和 Oracle 等公司的大型企業中介軟體產品的基礎。Spring Dynamic Modules 專注於使您能夠在構建自己的企業應用程式時利用 OSGi 服務平臺。使用 Spring Dynamic Modules 構建並在 OSGi 服務平臺上執行的應用程式,由一組同等的 Spring 應用程式上下文(每個 OSGi 捆綁包一個)組成,這些應用程式上下文透過 OSGi 服務登錄檔進行互動。這是一種面向服務的體系結構,但完全位於您的虛擬機器內部,使用常規的 Java 引用來訪問服務。以這種方式構建的應用程式的好處包括:

  • 強大的模組化:每個模組的內部都是私有的,只有您選擇匯出的包和 bean(服務)才能被其他模組公開訪問。
  • 動態模組生命週期:您可以使用標準的 OSGi 服務平臺生命週期設施獨立地安裝、解除安裝、啟動、停止和更新每個模組(應用程式上下文)。Spring Dynamic Modules 提供對跨越模組邊界的服務引用的智慧管理,因此即使提供服務的模組已原地更新,您也可以繼續使用穩定的引用。
  • 支援模組版本控制。可以同時部署同一 Java 包(以及因此的庫)的多個版本。OSGi 平臺負責將這些庫的使用者繫結到合適的版本,並確保您只看到實現版本相容介面的服務。
  • 可對已安裝的模組、它們匯入和匯出的服務與包,以及模組在執行時如何連線在一起進行操作洞察。
在開發過程中,能夠原地更新一個模組而其他模組保持執行狀態,可以極大地提高生產力。

隨著 1.0 版本的釋出,我們在模組生命週期和服務整合方面擁有了一個可靠的解決方案。但在 OSGi 服務平臺上使用現有(非為在 OSGi 上執行而編寫)的企業庫時,仍然存在與類和資源載入以及可見性相關的陷阱,需要謹慎處理。我們相信,在最近釋出的 Spring Framework 2.5 中,我們已經解決了所有這些問題。Spring Dynamic Modules 下一版本的重點將是為其他常用的企業庫提供實用的解決方案,從而大大簡化在 OSGi 上執行的、由 Spring 驅動的 Web 應用程式的編寫。

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

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

瞭解更多

獲得支援

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

瞭解更多

即將舉行的活動

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

檢視所有