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 Service Platform 是一個經過驗證的輕量級運行時,它提供了一個「用於 Java 的動態模組系統」。 它已被用於從嵌入式設備、汽車和電信應用程式,到 IBM、BEA 和 Oracle 等公司的重要企業中間件產品的基礎。 Spring Dynamic Modules 專注於使您能夠在構建自己的企業應用程式時利用 OSGi Service Platform。 使用 Spring Dynamic Modules 構建並在 OSGi Service Platform 上運行的應用程式由一組對等的 Spring 應用程式上下文(每個 OSGi bundle 一個)組成,這些上下文透過 OSGi Service Registry 進行互動。 這是一種面向服務的架構,但完全位於您的 VM 內,使用常規 Java 引用來訪問服務。 以這種方式構建的應用程式的優點包括

  • 強大的模組化:每個模組的內部結構都是私有的,只有您選擇匯出到模組外部的套件和 bean(服務)才能公開提供給其他模組。
  • 動態模組生命週期:您可以使用標準 OSGi Service Platform 生命周期設施獨立安裝、卸載、啟動、停止和更新每個模組(應用程式上下文)。 Spring Dynamic Modules 提供了跨模組邊界的服務引用的智慧管理,以便即使在提供該服務的模組就地更新時,您也可以繼續使用恆定的引用。
  • 支援模組的版本控制。 可以同時部署同一 Java 套件(以及因此的函式庫)的多個版本。 OSGi 平台負責將這些函式庫的使用者繫結到適當的版本,並確保您只看到實作版本相容介面的服務。
  • 對已安裝模組、它們匯入和匯出的服務和套件以及模組在運行時如何連接的運營洞察。
在開發過程中,當其他模組保持運作時,能夠就地更新模組可以真正提高生產力。

透過 1.0 版本,我們獲得了一個用於模組生命週期和服務整合的可靠解決方案。 當在 OSGi Service Platform 上使用現有的(非為在 OSGi 上運行而編寫的)企業函式庫時,仍然存在與類別和資源載入以及可見性相關的陷阱。 我們相信我們已經在最近發佈的 Spring Framework 2.5 中解決了 Spring 本身的所有這些問題。 下一個版本的 Spring Dynamic Modules 的重點將是為其他常用的企業函式庫提供務實的解決方案,以便更容易編寫在 OSGi 上運行的 Spring 驅動的 Web 應用程式。

取得 Spring 電子報

訂閱 Spring 電子報,隨時掌握最新資訊

訂閱

取得領先

VMware 提供培訓和認證,以加速您的進度。

了解更多

取得支援

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

了解更多

即將到來的活動

查看 Spring 社群中所有即將到來的活動。

查看全部