Git 遷移
你們中的一些人可能已經注意到,在最近的帖子中,dm Server 團隊一直在引用 Git 倉庫 URL。該團隊一直在遷移其所有原始碼,我很高興地宣佈此遷移已完成。以下列表包含由 dm Server 團隊管理的程式碼的 Git URL。如果您之前在 SVN 中引用了等效的倉庫,請轉而克隆這些新倉庫。
此公告僅涵蓋由 dm Server 團隊管理的程式碼,而不包括 Spring 組合的全部。其他專案將以自己的速度進行轉換,並且 Subversion……
dm Server 2.0 M3
dm Server 2.0.0.M3 已釋出,現已可供 下載。
在 2.0.0.M3 釋出後的衝刺階段,我們在新功能和缺陷修復方面都取得了重大進展。如果您有興趣瞭解我們所做的工作,請檢視 M3 發行說明。請繼續透過部落格評論、論壇和 JIRA 提供您的反饋。
新功能和值得關注的改進
整合 OSGi Web 容器參考實現
dm Server 現在包含 OSGi Web 容器參考實現,並利用它來支援所有 Web 功能。在此工作的基礎上,我們還遷移到使用標準的 XML 格式來配置 dm Server 中的 Tomcat。管理控制檯中的轉儲分析
dm Server 的管理控制檯中新增了一個轉儲檢查器 (Dump Inspector)。轉儲檢查器可用於檢查 dm Server 可服務性元件生成的診斷轉儲。使用 Git 作為我們的版本控制系統
我們最近已將 dm Server 的原始碼遷移到 Git,因為我們認為 Git 的分散式特性和出色的分支支援將給我們帶來顯著的好處。如果您有興趣訪問 dm Server 的原始碼,並從原始碼構建 dm Server,以下是現在程式碼託管在 Git 中的操作說明。文件更新
dm Server 的 使用者指南和 程式設計師指南現已涵蓋了許多新新增的功能。使用 ConfigurationAdmin
dm Server 現在廣泛使用 ConfigurationAdmin 來管理其配置。這導致 dm Server 的配置檔案及其格式發生了變化。新檔案和格式在更新的 使用者指南中有所描述。更新的應用程式開發指南
我們已更新了有關使用 dm Server 建立企業 Java 應用程式的 指南,以使其與 2.0 系列保持同步。使用 dm Server 的原始碼
dm Server 的 Git 倉庫
| 儲存庫 URL | 內容 |
|---|---|
| git://git.springsource.org/dm-server/util.git | 通用實用程式碼 |
| git://git.springsource.org/dm-server/artifact-repository | 工件儲存庫 |
| git://git.springsource.org/dm-server/osgi-extensions.git | OSGi 擴充套件和 Equinox 鉤子 |
| git://git.springsource.org/dm-server/kernel.git | dm Kernel |
| git://git.springsource.org/dm-server/web.git | OSGi Web 容器整合和擴充套件 |
| git://git.springsource.org/dm-server/servlet.git | 管理控制檯 |
| git://git.springsource.org/dm-server/hosted-repository | 託管的工件儲存庫 |
| git://git.springsource.org/dm-server/documentation.git | 文件 |
| git://git.springsource.org/dm-server/dm-server.git | 打包 |
從原始碼構建 dm Server
設定
在從原始碼構建 dm Server 之前,您必須在機器上完成以下設定- 安裝 Java 6 並配置 JAVA_HOME 環境變數指向它
- 已安裝 Ant 1.7.1 或更高版本
- 配置 ANT_OPTS 環境變數以提供至少 512MB 的最大堆記憶體,例如 ANT_OPTS=Xmx512m
- Git 客戶端
完成此設定後,您就可以構建 dm Server 了。
打包已釋出的二進位制檔案
構建打包的 dm Server zip 檔案的最簡單方法是直接從已釋出的現有二進位制檔案進行構建。git clone git://git.springsource.org/dm-server/dm-server.git
cd dm-server
git checkout --track 2.0.0.M3 -b 2.0.0.M3
ant…使用 SpringSource Slices 進行可插拔樣式
自從我們 宣佈 SpringSource Slices 以來,許多使用者和客戶詢問有關使用 Slices 使其網站的樣式和品牌可插拔的問題。在本文中,我將演示使用 Slices 來實現這一目標的簡便性。
可插拔樣式
我有一個標準的 war 檔案,名為 styled.host.war,其中包含一個非常簡單的 index.html 頁面<html>
<head>
<title>SpringSource Slices Pluggable Styling Demonstration</title>
<link rel="StyleSheet" href="styles/main.css" type="text/css" />
</head>
<body>
<div class="header">
<div class="title">SpringSource Slices</div>
<div class="subtitle">Pluggable Styling Demonstration</div>
</div>
</body>
</html>
正如你所見,它正在尋找一個 CSS 檔案…
使用 Yourkit 查詢記憶體洩漏
我今天在使用 Yourkit 時獲得了非常棒的體驗,因此我想寫一篇快速的推薦。自從我上次認真使用它以來已經有幾年了,即使在那時它也是我能找到的最好的工具,但現在它確實超級流暢。我沒有對市場進行詳盡的調查,那也不是本次練習的目的:我只想用一個工具來解決問題。
這是我一天中的故事;沮喪,然後惱火,最後滿意。我懷疑 Spring Batch 中存在記憶體洩漏,而且我需要快速找到它。這背後的故事是我見過很多記憶體洩漏,但已經很久沒有親自處理過了。我這些天生活在 STS 中(有時甚至在裡面做夢),所以我需要一個在 IDE 中執行良好的工具。我嘗試了兩種工具,但只因為第一個選擇不起作用。我嘗試的是 TPTP 和 Yourkit…
STS 2.1.0.RC1 已更新以支援 Eclipse 3.5
最新的 SpringSource Tool Suite 釋出候選版本已更新,支援全新的 Eclipse Galileo 版本。STS 2.1.0.RC1 包括對 Spring Roo、SpringSource dm Server 和 tc Server、企業 OSGi 工具以及所有一如既往的強大 Spring 開發工具的支援。此最新版本還支援 Mac OS X 64 位 Cocoa 客戶端。當然,SpringSource Tool Suite 的 下載 是免費的,今天就開始使用最佳的企業 Java 開發 IDE 吧。
將 STS 安裝到 Eclipse 3.5
今天對於 Eclipse 以及所有參與 Eclipse 生態系統的人來說都是一個大日子:恭喜 Eclipse 團隊釋出了 Eclipse 3.5(又名 Galileo)。您可以在 http://www.eclipse.org/galileo/ 閱讀有關該釋出的更多資訊。我鼓勵大家今天就下載 Eclipse 3.5 並進行嘗試。
由於 SpringSource 堅決致力於 Eclipse,並且我們正在 Eclipse 技術棧之上構建我們的 SpringSource Tool Suite,我很高興地報告 STS 可以安裝並與 3.5 一起使用。以下是一些入門說明。
更新:本帖中的說明已過時,可能不適用於您。請參閱 STS 安裝說明…
Maven PAR 外掛 1.0.0.M1
在 SpringSource dm Server(當時的應用程式平臺)推出後不久,Thorsten Maus 建立了一個 Maven 外掛用於建立 PAR 檔案。這是一項很棒的社群貢獻,我們甚至在 dm Server 1.0.x 的 入門指南 中使用了它。
隨著 dm Server 2.0 里程碑的推進,我們一直在為 PAR 檔案新增新功能。最有趣的功能是現在 PAR 檔案不僅可以包含 JAR 檔案。隨著 OSGi RFC 66 的引入,dm Server 棄用了 Web Modules,轉而使用帶有.war…
OSGi DevCon Europe:訊息傳遞與OSGi的結合
昨天我在OSGi DevCon Europe上發表演講,內容是關於如何使用Spring Integration和dm Server以務實的方式解決大型應用程式中的常見問題。在我的演講前後,我與許多人進行了交流,他們希望獲得更多關於這些想法的資訊。這篇部落格將概述我所談論的內容。
我將直接概述演示內容。
任何專案在其活躍開發生命週期中都會不斷發展。通常,開發人員透過新增程式碼來增加功能並修復產品負責人提出的問題。這個過程自然會使程式碼庫增長……
OSGi Test Stubs 1.0.0.M1
我很高興地宣佈 SpringSource OSGi Test Stubs 的 1.0.0.M1 版本釋出。這些存根提供了一種在不需要完整 OSGi 容器的情況下對複雜 OSGi 框架互動進行單元測試的方法。
問題
隨著 dm Server 團隊的開發,我們發現對我們來說最大的測試問題領域之一是BundleActivator。我們的BundleActivators做了很多將服務釋出到服務登錄檔以及使用ServiceTrackers 消費服務的工作。這些型別的任務涉及對BundleContexts、Bundles、ServiceRegistrations 和ServiceReferences 的許多交織呼叫。最初,這些啟用器足夠簡單,沒有對它們進行太多單元測試,我們依賴整合測試來捕獲引入的任何錯誤。然而,隨著時間的推移,啟用器變得越來越複雜,單元測試成為一個更緊迫的需求。我們開始使用 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…