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 還會掃描其生成的清單,查詢以下問題並根據它們生成警告

標準化和簡化的配置

在 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中透過指定為檔名但不包含.properties副檔名的 PID 來訪問。

計劃屬性和特性

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

<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 服務的支援

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

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

與對 Spring-DM 上下文的支援一樣,Bundlor 會掃描預設位置 (OSGI-INF/blueprint/*.xml) 以及透過自定義Bundle-Blueprint清單頭部指定的位置掃描 Blueprint Service 配置檔案。找到這些檔案後,會掃描其中的類和介面名稱,並將這些型別的包新增到 Bundlor 建立的 OSGi 清單中。

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

Slices 選單欄截圖影片

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

我很高興宣佈 SpringSource Slices 的新截圖影片。該截圖影片演示瞭如何建立menu-bar示例應用程式。它展示了主機如何使用一組切片動態填充選單欄而無需重新啟動,並且可以完全與選單欄中具體有哪些專案無關。此外,切片僅提供其特定內容,幷包含來自主機 bundle 的格式和其他視窗內容。

Slice 選單欄 (5:19)

原始碼

Git 遷移

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

你們中有些人可能注意到,在最近的帖子中,dm Server 團隊一直在引用 Git 倉庫 URL。團隊一直在遷移所有原始碼,我現在很高興宣佈遷移已完成。以下列表包含了 dm Server 團隊管理的程式碼的 Git URL。如果您之前在 SVN 中引用了等效的倉庫,請改為克隆這些新倉庫。

此公告僅涵蓋 dm Server 團隊管理的程式碼,不包括整個 Spring 產品組合。其他專案將按自己的進度進行轉換,Subversion…

Maven PAR 外掛 1.0.0.M1

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

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

隨著 dm Server 2.0 里程碑版本的推進,我們一直在向 PAR 檔案新增新功能。最有趣的功能是現在一個 PAR 檔案不僅可以包含 JAR 檔案。隨著OSGi RFC 66 的引入,dm Server 棄用了 Web Modules,轉而支援使用.war

OSGi 測試樁 1.0.0.M1

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

我很高興宣佈 SpringSource OSGi 測試樁的 1.0.0.M1 版本釋出。這些測試樁提供了一種無需完整 OSGi 容器即可單元測試複雜 OSGi Framework 互動的方法。

問題

在 dm Server 團隊開發過程中,我們發現測試方面最大的問題領域之一是 BundleActivator。 我們的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 客戶端連線到正在執行的 dm Server 例項時,會看到一個 Repository 組。在此組下,每個配置的倉庫(鏈式倉庫除外)都有一個 bean,該 bean 返回其中包含的所有 artifacts 的概要資訊。該 bean 還暴露了一個方法,可以根據給定 bean 的型別、名稱和版本返回完整的詳細 ArtifactDescriptor。

JMX Repository Browsing

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

將 OSGi Profile 與 Bundlor 一起使用

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

在管理和轉換SpringSource Enterprise Bundle Repository 中包含的如此多的 bundle 時,很難記住哪些包是 boot delegated 的,哪些是從系統 bundle 匯出的,或者哪些是來自系統中其他 bundle 的。這些資訊很重要,因為您可能不想匯入 boot delegated 的包,您可能確實想匯入版本為“0”的系統 bundle 包,並且您想為所有其他包定義自定義匯入。記住每個類別中有哪些包最終會有點容易出錯,並且定義模板…

領先一步

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

瞭解更多

獲取支援

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

瞭解更多

近期活動

檢視 Spring 社群所有近期活動。

檢視全部