Ben Hale

Ben Hale

由...發表的部落格文章Ben Hale

Bundlor 1.0.0.RC1 版本已發佈

工程 | 2009年12月23日 | ...

我非常興奮地宣布 Bundlor 1.0.0.RC1 版本 現已發佈。自 M6 版本以來,Bundlor 已經進行了 許多變更,包括新增偵測和警告標準,以及改進 ANT 和 Maven 設定。

這個里程碑標誌著 1.0.0 版本的完整功能狀態。若沒有重大問題,這個候選版本將很快發佈為 1.0.0.RELEASE 版本。

偵測與警告標準

Bundlor 現在於以下位置偵測 Java 類型

Bundlor 也會掃描其產生的 manifest,以找出以下問題並根據這些問題產生警告

標準化和簡化的設定

在 RC1 版本之前,Bundlor 最明顯的缺點之一是各個前端(命令列、ANT、Maven)之間功能和設定的不一致性。RC1 不得不變更所有這些的設定參數,但最終結果是 Bundlor 設定的一致性,並且在許多情況下簡化了設定。

請參閱 Bundlor 文件,以了解您的...的設定選項

dm Server 2.0.0.M6

工程 | 2009年10月27日 | ...

dm Server 2.0.0.M6 版本現已發佈,可從此處下載。

這個版本緊隨 M5 版本之後發佈,因為我們正接近第一個 2.0.0 候選版本。這次我們非常專注於修復未解決的缺陷,並且僅新增了一些新功能。請查看 M6 版本發行說明,以了解我們修復的缺陷和新增功能的完整詳細資訊。請繼續提供您的意見回饋,可在我們的部落格上留言、在論壇中發表,以及在JIRA上提出。

新功能與值得注意之處

以服務形式執行 dm Kernel 和 dm Server

dm Kernel 和 dm Server 現在可以在 Windows 和 UNIX 機器上以服務形式啟動。若要在 Windows 上安裝服務,您需要編輯$HOME/bin/service/conf/wrapper.conf檔案,以正確列出 kernel 或 server 的路徑。然後執行$HOME/bin/service/windows.bat install。還有其他命令需要執行,dm Server 文件說明了其他命令。

UNIX 使用者更輕鬆,因為$HOME/bin/service目錄包含許多init.d相容的…

dm Server 2.0.0.M5

工程 | 2009年10月12日 | ...

dm Server 2.0.0.M5 版本現已發佈,可從此處下載。

我們正接近 2.0.0 發佈週期的尾聲,因此這個里程碑的大部分工作都集中在鎖定使用者互動模型。請查看 M5 版本發行說明,以了解我們一直在努力的完整詳細資訊。請繼續提供您的意見回饋,可在我們的部落格上留言、在論壇中發表,以及在JIRA上提出。

也請關注部落格,以取得關於「新功能與值得注意之處」中提及的許多新功能的詳細文章。

新功能與值得注意之處

部署設定檔

屬性檔現在可以部署在pickup目錄或任何已設定的儲存庫中。這些檔案的內容隨後可在 OSGi 的ConfigurationAdmin中存取,PID 指定為檔案名稱,但不包含.properties副檔名。

計劃屬性和屬性

計劃現在可以擁有用於替換的全域定義屬性。

<attributes>
	<attribute name="version" value="[1.0.0, 2.0.0)"/>
</attributes>

<artifact type="bundle" name="org.springframework.context.support" version="${version}"/>

計劃中的 Artifacts 可以定義屬性,這些屬性在部署時會轉換為 Bundle manifest 標頭。

<artifact type="bundle" name="my.webapp" version="[1.0.0, 2.0.0)">
	<property name="Web-ContextPath" value="/foo"/>
</artifact>

管理主控台

管理主控台的 Artifacts 頁面已進行美化,以將使用者安裝的 Artifacts 的相依性呈現為樹狀結構。此外,這些樹狀結構的每個層級都會延遲載入,從而提高載入時間效能。

Admin Console

命令列 Shell

dm Server 現在隨附命令列 Shell,以取代先前使用的 Equinox 主控台。此主控台可透過-shell啟動命令在本機存取。

$ bin/startup.sh -shell
<KE0001I> Kernel starting.
<KE0002I> Kernel started.
<SH0001I> dm Kernel ssh shell available on port 2402.

     @@@ ***
    @@@ *****            .__.                  .__.            .__.  .__.
   @@@@ ******         __|  |  _____     _____.|  |__    ___…

Bundlor 新增對 Blueprint Service 的支援

工程 | 2009年9月26日 | ...

我很高興地宣布,從新發佈的 1.0.0.M6 版本開始,Bundlor 現在支援 OSGi Blueprint Service 檔案。

與對 Spring-DM context 的支援一樣,Bundlor 會掃描預設位置 (OSGI-INF/blueprint/*.xml) 以及使用自訂Bundle-Blueprintmanifest 標頭指定的位置中的 Blueprint Service 設定檔。當找到這些檔案時,會掃描類別和介面名稱,並將這些類型的套件新增至 Bundlor 建立的 OSGi manifest。

有關 Bundlor 的資訊以及下載此最新里程碑版本,請造訪 Bundlor 專案頁面

Slices 選單列螢幕錄影

工程 | 2009年8月07日 | ...

我很高興地宣布 SpringSource Slices 的新螢幕錄影。這個螢幕錄影逐步說明了menu-bar範例應用程式的建立過程。它展示了主機如何使用 slices 集合來動態填充選單列,而無需重新啟動,並且可以完全與選單列中可能存在的項目知識脫鉤。此外,slices 僅提供其特定內容,並包含來自主機 bundle 的格式和其他視窗內容。

Slice 選單列 (5:19)

原始碼

Git 遷移

工程 | 2009年7月15日 | ...

您們中的一些人可能已經注意到,在最近的文章中,dm Server 團隊一直在引用 Git 儲存庫 URL。團隊一直在遷移其所有原始碼,而我現在很高興地宣布,此遷移已完成。以下列表包含 dm Server 團隊管理的程式碼的 Git URL。如果您之前參考 SVN 中對應的儲存庫,請改為 clone 這些新的儲存庫。

此公告僅涵蓋 dm Server 團隊管理的程式碼,而不包含 Spring portfolio 的全部內容。其他專案將以自己的步調進行轉換,而 Subversion…

Maven PAR Plugin 1.0.0.M1

工程 | 2009年6月24日 | ...

在 SpringSource dm Server(當時稱為 Application Platform)推出後不久,Thorsten Maus 建立了一個 Maven 外掛程式,用於建立 PAR 檔案。這是社群的重大貢獻,我們甚至在 dm Server 1.0.x 的 入門指南中使用了它。

隨著 dm Server 2.0 里程碑的進展,我們一直在為 PAR 檔案新增功能。最有趣的功能是,現在 PAR 檔案可以包含的不僅僅是 JAR 檔案。隨著 OSGi RFC 66 的推出,dm Server 已經 棄用 Web Modules,轉而使用標準 Web Container 檔案,使用.war

OSGi Test Stubs 1.0.0.M1

工程 | 2009年6月23日 | ...

我很高興地宣布 SpringSource 的 OSGi Test Stubs 1.0.0.M1 版本發佈。 這些 stubs 提供了一種單元測試複雜 OSGi Framework 互動的方法,而無需完整的 OSGi 容器。

問題

隨著 dm Server 團隊的開發,我們發現我們測試的最大問題領域之一是 BundleActivators。 我們的BundleActivators做了相當多的工作,將服務發佈到服務註冊表,以及使用ServiceTrackers。 這類任務涉及許多交織的呼叫BundleContexts,Bundles,ServiceRegistrations, 和ServiceReferences。 一開始,這些 activators 非常簡單,沒有對它們進行太多單元測試,我們依靠整合測試來捕捉引入的任何錯誤。 然而,隨著時間的推移,activators 變得更加複雜,單元測試變得更加迫切需要。 我們開始使用 EasyMock 進行這些測試,但發現它們非常複雜、難以維護,最重要的是難以理解。
@Test
public void startAndStop() throws Exception {
    BundleActivator bundleActivator = new DumpBundleActivator();
    BundleContext context = createMock(BundleContext.class);
    Filter filter = createMock(Filter.class);
    
    String filterString = "(objectClass=" + DumpContributor.class.getName() + ")";
    
    expect(context.createFilter(filterString)).andReturn(filter);
    context…

透過 JMX 的 dm Server 儲存庫內容

工程 | 2009年6月22日 | ...

dm Server 2.0.0.M1 版本中,我們新增了對共用儲存庫的支援。作為此新功能的後續,我們新增了透過 JMX 瀏覽這些儲存庫的支援。

使用 JMX client 連接到正在執行的 dm Server 實例,現在會顯示一個 Repository 群組。在這個群組下,每個已設定的儲存庫(鏈式儲存庫除外)都有一個 bean,它會傳回其中包含的所有 artifacts 的概要。這個 bean 也公開了一個方法,用於根據給定 bean 的類型、名稱和版本,傳回整個詳細的 ArtifactDescriptor。

JMX Repository Browsing

顯然,像 JConsole 這樣的工具主要用於顯示少量目標資料。 對於較大的資料集,AMS 團隊目前正在開發更易於觀看的視覺化工具。

將 OSGi Profile 與 Bundlor 結合使用

工程 | 2009年5月18日 | ...

當管理和轉換 SpringSource Enterprise Bundle Repository 中包含的許多 bundles 時,很難記住哪些套件是啟動委派的、從系統 bundle 匯出的,或從系統中的其他 bundles 匯出的。此資訊很重要,因為您可能不想匯入啟動委派的套件,您可能想要以 "0" 匯入系統 bundle 套件,並且您想要為所有其他套件定義自訂匯入。記住哪些套件屬於這些類別中的每一個最終會有點容易出錯,並且定義範本…

領先一步

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

了解更多

取得支援

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

了解更多

即將到來的活動

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

檢視全部