成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OSGi和Spring入門:什么是Spring動態模型(Spring DM)?

譯文
開發 后端
本文是OSGi和Spring入門的第一部分,首先介紹了什么是Spring動態模型。OSGi亦稱做Java語言的動態模塊系統,它為模塊化應用的開發定義了一個基礎架構。

【51CTO精選譯文】本文是《你好,OSGi》系列的第五部分。從本篇開始將講述Spring動態模型。我們將一起來發現,為什么Spring動態模型對于開發者是一個如此令人興奮的選擇。這些開發者已經對Spring配置非常熟悉,并需要挖掘OSGi的模塊性、簡易的版本控制以及應用程序生命周期支持。

51CTO編輯推薦:OSGi入門與實踐全攻略

使用OSGi和Spring構建面向服務的應用程序

OSGi,也稱為 Java 語言動態模塊系統,它為 Java 應用程序開發指定了一種模塊方法,以及一組標準化的模塊,用于管理模塊之間的從屬性。OSGi服務平臺的Spring動態模型項目(即Spring動態模型,簡稱Spring DM)允許開發者構建Spring應用程序,這種應用程序能夠在OSGi容器中進行部署。對于熟悉Spring編程和配置模型的 Java 企業開發者,Spring動態模型是一種較為簡易的方式,可用來熟悉OSGi的應用程序開發的模塊化方法。除了允許Spring開發者進行OSGi的模塊化架構和動態配置之外,Spring動態模型還提供了多數OSGi應用程序所需的低階編程,因此你能夠將重點放在應用程序的業務邏輯上。

在該系列文章的第一節中(《你好,OSGi,第一節:Bundles 入門》),我們介紹了一種OSGi開發的標準方式,使用了OSGiAPI 和開源的 Equinox 容器實施。你已經學習了有關OSGi架構的知識,尤其是容器和套件(bundle),并且第一次開發了一個基于OSGi的 Hello World 應用程序。由于這個示例的目標僅僅是為了理解OSGi的基礎功能,因此該應用程序示例并不是很深入。

在本節中,你將再次構建一個 Hello World 應用程序,這次將使用Spring動態模型框架。你將會學到什么是Spring DM以及它在模塊中利用OSGi應用程序邏輯的分離性,以及其模塊邊界的運行時強制執行。此外,你還會學習如何使用Spring動態模型完成以下事項:

在正在運行的系統中,動態安裝,升級以及卸載模塊。

通過動態地發現和使用系統中其他模塊提供的服務,構建面向服務的應用程序(SOA)。

使用Spring的 DataSource 類對系統模塊之間以及跨越系統模塊的組件進行實例化、配置、組裝(assemble)以及添加裝飾性功能。

你將看到,使用Spring動態模型可以讓你免除某些死板的機械工作,以及更為困難的工作:理解OSGi框架之下發生了什么。因此,你將能夠深入挖掘應用程序邏輯,并在開發流程中更快地完成這種挖掘。

為了理解本節中的示例,你需要一個包含 Eclipse 3.3 和Spring動態模型的開發環境。

OSGi和Spring框架

目前OSGi的流行程度增加急速上升。某些應用程序服務器已經記過重新裝備以利用OSGi的模塊化框架,其中包括 IBM 的 WebSphere 應用程序服務器、BEA 的 microService 架構(mSA),以及JOnAS 5,一個開源的應用程序服務器,該服務器在OSGi的架構之上從基礎進行構建。JBoss 也在開發基于OSGi的類加載程序(classloader)并計劃參加一個OSGi核心規則實施。也許最重要的是,Eclipse 基金會(Eclipse Foundation)的OSGi容器/運行時組件引擎 Equinox 最近已經升級為頂級的項目狀態,在這種狀態下,它將被用作新的 Eclipse 運行時規范(Eclipse Runtime Initiative)的基礎。

甚至在OSGi當前的流行度激增之前,已經存在將其與Spring組合中一起的討論,這一討論帶來了OSGi服務平臺的Spring動態模型(SpringDynamic Modules forOSGiService Platforms )項目。Spring動態模型的功能可以劃分為兩個主要部分:第一個功能是它以OSGi套件(bundle)的形式提供Spring框架 JAR。從上一章節中你已經了解到,OSGi套件不過是 Java Achive(JAR)文件,這些文件在一個 META-INF/MANIFEST.MF 文件中包含了額外的條目,它可以作為OSGi套件的部署描述器(descriptor)。(請注意,在使用OSGi時,你不能夠直接部署 JAR 文件;你需要使用OSGi套件格式對其進行裝配。)

第二個功能,Spring DM提供了三個OSGi專用的Spring套件/JAR:

  1. org.springframeork.osgi.bundle.extender  
  2. org.springframeork.osgi.bundle.core  
  3. org.springframeork.osgi.bundle.io 

使用Spring動態模型構建的應用程序,其構建方式不同于那些使用Spring框架的應用程序。當構建一個Spring應用程序時,你在一個或多個Spring配置文件中定義了配置信息,這種配置文件絕大多數為 XML 文件。在應用程序啟動時,Spring框架使用這些配置文件創建應用程序語境(application-context)對象。當應用程序語境創建之后,它將用于對該應用程序中的對象進行實例化、配置、組裝(assemble)以及添加裝飾性功能。

對于Spring動態模型,在啟動時,org.springframeork.osgi.bundle.extender 查詢所有處于解析(resolved)狀態以了解它們是否由Spring提供(Springpowered)。如果套件具有Spring-Context 清單頭(manifest header),或者在其 META-INF/spring  文件夾中包含 XML 文件,extender 套件將認為該套件是由Spring提供的。

當找到Spring提供的套件時,org.springframeork.osgi.bundle.extender 將在該套件中加載Spring配置文件,以并它創建一個應用程序-語境對象。在創建應用程序-語境對象時,該 extender 還會檢查該套件是否正在輸出OSGi服務。如果是,它將輸出該Springbean 到OSGi共享服務寄存器(registry)。如果套件正在導入OSGi服務,它將找到該服務并將其作為該 bean 的應用程序語境中的正常Springbean 進行添加。該 extender 還為套件事件注冊了一個監聽器,這樣,無論任何OSGi套件是否進入解析狀態,它都將檢查它是否由Spring提供并遵循相同的步驟。

在接下來的文章中,你將從設置相關環境開始,開發出你的第一個Spring動態模型應用程序,在這一過程中,上述問題都將變得明朗清晰。敬請期待!

【編輯推薦】

  1. OSGi服務:非常適合SOA的架構
  2. OSGi依賴性管理:Bundle訪問域
  3. OSGi Bundle之Hello World
  4. OSGi是什么:Java語言的動態模塊系統
  5. OSGi 4.2將于8月發布 新版特性預覽
責任編輯:yangsai 來源: 51CTO.com
相關推薦

2009-10-09 13:42:56

Spring DataSpring DM

2009-09-28 13:13:16

設置Spring DM

2009-09-28 14:49:08

Spring DMOSGi服務

2009-06-18 15:24:08

Spring OSGi

2009-03-03 10:06:00

IBMJavaOSGi

2009-06-01 10:28:03

SpringOSGi整合

2009-07-09 09:18:50

Spring Tool

2009-10-29 09:52:55

OSGi

2010-04-07 08:55:00

OSGiSpring

2009-06-26 17:34:29

Spring入門

2009-06-19 13:28:30

Spring AOPSpring 2.0

2009-06-01 10:40:26

SpringOSGI中文手冊

2009-06-11 17:03:22

Spring起源Spring優點

2019-09-19 15:12:27

Spring策略框架

2009-07-10 15:24:33

MyEclipse開發Spring

2021-09-15 09:02:20

Spring 6Spring BootJava

2021-09-03 06:46:34

Spring 6pring Boot 項目

2011-02-28 13:34:51

SpringMVC

2009-06-18 15:14:53

Spring osgi

2021-11-10 05:00:30

服務器Spring授權
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 性高湖久久久久久久久 | 国产欧美精品一区二区色综合朱莉 | 日韩一级二级片 | 中文字幕国产 | 二区国产| www.99热| 成人欧美一区二区三区色青冈 | 亚洲永久入口 | www久久久 | 综合国产| 国产激情一区二区三区 | 成人精品一区二区三区中文字幕 | 亚洲国产中文字幕 | 一区二区三区欧美在线 | 91久久久久久久久久久 | 亚洲免费观看视频网站 | 综合久久99 | 伊人久久在线 | 五月激情婷婷网 | 久久久女女女女999久久 | 亚洲免费视频网址 | 成人免费大片黄在线播放 | 国产中文在线观看 | 欧美日韩成人影院 | 在线看片网站 | 日韩黄| 欧美激情精品久久久久久变态 | 日韩欧美三级在线 | 九九免费视频 | 九九久久免费视频 | 久久国产综合 | 羞羞色影院 | 成人国产在线观看 | 欧美在线色 | 91在线成人 | 国产成人一区在线 | 在线观看中文字幕av | 亚洲一区二区三区免费 | 香蕉av免费| 亚洲三级在线观看 | 国产日韩欧美在线 |