Spring Batch Admin 介紹

工程 | Dave Syer | 2009 年 11 月 10 日 | ...

Spring Batch Admin 提供一個基於 Web 的使用者介面,其中包含一個用於 Spring Batch 應用程式和系統的管理主控台。這是來自 SpringSource 的一個新的開放原始碼專案。里程碑版本 1.0.0.M1 將很快發布,其中包含以下所有功能,我們希望在 2010 年初發布 1.0.0 最終版本。

主要使用案例

快速了解 Spring Batch Admin 的最簡單方法是查看一些主要使用案例的螢幕截圖。使用者介面是一個 Web 應用程式(使用 Spring MVC 構建)。

檢查任務

Jobs View 使用者可以檢查系統已知的任務。任務可以是可啟動的或不可啟動的(在螢幕截圖中,它們都是可啟動的)。區別在於,可啟動任務是在應用程式本身中定義和配置的,而不可啟動任務是被檢測為另一個進程中任務執行所留下的狀態。(Spring Batch 使用關係資料庫來追蹤任務和步驟的狀態,因此可以查詢歷史執行記錄以顯示不可啟動的任務。)

啟動任務

Launch Job View 可啟動任務可以從使用者介面啟動,並將任務參數作為名稱值對提供,或通過配置到應用程式中的增量器提供。

檢查執行

Job Executions View 一旦任務正在執行或已執行,可以使用此視圖查看最新的執行記錄,以及其狀態的簡要摘要(已啟動、已完成、已失敗等)。 Job Execution View 每個單獨的執行都有更詳細的視圖(如上所示),從那裡使用者可以點擊到任務中每個步驟執行的視圖(在本例中只有一個)。想要這樣做的常見原因是查看失敗的原因。 Step Execution (Top) View 步驟執行詳細視圖的頂部顯示了該步驟在所有任務執行中的執行歷史記錄。這對於獲得性能特徵的統計感覺很有用。在整合測試環境中執行任務的開發人員可以使用此處的統計資訊來比較任務的不同參數化,以查看更改(例如)項目處理步驟中的提交間隔的效果。 Step Execution (Bottom) View 步驟執行視圖的底部包含步驟的詳細元資料(狀態、讀取計數、寫入計數、提交計數等),以及導致步驟失敗的任何異常的堆疊追蹤摘錄(如上例所示)。

停止執行

Stop Job Execution View 正在執行的任務可以由使用者停止(無論它是否可啟動)。停止訊號通過資料庫發送,一旦 Spring Batch 在運行任務的任何進程中檢測到該訊號,任務就會停止(狀態從停止中更改為已停止),並且不會進行進一步的處理。

在哪裡取得

最好的起點是 SpringSource 社群下載頁面。還有一個快照下載 附加到本文,或者您可以從 Subversion 取得原始碼並自行編譯。快照建置也會每晚上傳到 S3 的 Maven 儲存庫
<repository>
	<id>spring-snapshots</id>
	<name>Spring Maven Snapshot Repository</name>
	<url>http://s3.amazonaws.com/maven.springframework.org/snapshot</url>
</repository>

有兩個 JAR 成品和一個 WAR 範例(org.springframework.batch:spring-batch-admin…

Cloud Foundry 整合到開發人員工具中

工程 | Charles Lee | 2009 年 11 月 10 日 | ...

感謝許多其他 SpringSource 專案團隊的努力,我們很高興將三個開發人員工具與 Cloud Foundry 整合,即 SpringSource Tool Suite、Grails 和 Roo。  這樣做的結果是,您可以建立和開發您的 Spring 或 Grails 應用程式,並在雲端中運行它們,而無需離開您最喜歡的 IDE 或命令列介面。  這些工具利用 Cloud Foundry 客戶端 Web 服務 API(即將發布)並利用雲端中的額外智慧和 SpringSource 成品儲存庫,以優化、高效地將…

dm Server 2.0.0.M6

工程 | Ben Hale | 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 Admin Console 示範截圖

工程 | Christopher Frost | 2009 年 10 月 21 日 | ...

這是一個截圖,展示了 dm Serverdm Admin Console。它簡要介紹了 dm Admin Console,然後通過部署一個簡單的示範應用程式展示了一些功能。該應用程式包含一個設定檔、一個 Web 捆綁包和一個內容捆綁包。部署後,該應用程式只是在 Web 瀏覽器中顯示設定檔的內容。出於此示範的目的,該應用程式分部分安裝,實際上您可以將該應用程式與 'par' 或 'plan' 組合在一起,要了解如何使用 'plan' 檔案完成此操作,請參閱另一個截圖…

介紹 tc Server Developer Edition - 具有 Spring Insight

工程 | Jon Travis | 2009 年 10 月 21 日 | ...

我們很榮幸向 Spring 社群展示一個新工具,它可以幫助他們更快地將應用程式投入生產: tc Server Developer Edition 是您所知道和喜愛的標準 100% Tomcat,外加一個新的 Spring Insight 主控台。

Spring Insight 可以在逐個請求的基礎上深入了解應用程式的真實活動。對於任何請求,您都可以看到它所做的所有 JDBC 查詢、渲染所需的時間或任何主要 Spring Bean 的時間。

當您單獨查看特定請求時,這種細粒度的資訊非常有價值,但它可以是…

dm Kernel

工程 | Steve Powell | 2009 年 10 月 19 日 | ...

在里程碑 M5 中,首次可以單獨使用 dm Kernel。您可以從 此處 取得它。

什麼是 dm Kernel?

基本上,dm Kerneldm Server 的所有優點,除了對 Web 應用程式的支援。因此,沒有提供 Web 應用程式(甚至沒有 Admin ConsoleSplash),也沒有 Tomcat,只有 Kernel。

本質上,dm Kernel 為您提供 dm Server OSGi 支援的所有優點,包括

  • 範圍界定
  • 熱部署
  • pars
  • 捆綁包
  • 計劃
  • 配置屬性
  • 自動配置
  • 儲存庫
    • 所有儲存庫類型:受監控、外部 遠端
    • 鏈支援(預設情況下,鏈為空)
  • 易於配置
  • 使用者區域
  • 完整的系統和應用程式追蹤和轉儲支援
  • 哦,當然,像往常一樣的 Spring Bean 和 Spring DM 支援
但沒有 Web 相關的東西。

如果您想要系統應用程式的 OSGi 模組化支援,但不想或不需要託管 Web 應用程式,那麼 dm Kernel 就是您想要的。

這與完整 dm Server 附帶的 Kernel 完全相同 - 沒有修改或調整。能夠單獨部署和運行 Kernel 再次證明了 dm Server 的簡潔、模組化設計。

小字體

如何在沒有 Admin Console 的情況下管理 dm Kernel? (我幾乎可以聽到你問。)好吧,答案也在 M5 中提供 - 使用 Shell 本地或遠端(通過 SSH)。您會認為我們計劃了這個,或者其他什麼的。

享受。

dm Shell

工程 | Christopher Frost | 2009 年 10 月 15 日 | ...

dm Server 有一個新的命令列 Shell。它目前與現有的 Equinox Shell 一起提供,並將在 2.0 版本中取代它。與 Equinox Shell 相比,改進包括基本 Tab 鍵完成和命令歷史記錄。

dm Shell 既可以本地使用,也可以通過 SSH 遠端使用。如果在本地使用,通過使用 './startup.sh -shell' 選項啟動伺服器,一旦 dm Kernel 啟動,它將接管主控台輸出。主控台輸出仍可在事件日誌中查看。無論哪種方式,首先產生的是 ASCII 藝術啟動圖片,然後是命令提示符 ':> '

區域

工程 | Steve Powell | 2009 年 10 月 13 日 | ...

(已於 2009 年 10 月 15 日更新) 從里程碑 M5 開始,dm Server 2.0 採用 區域 將 Kernel 與使用者的應用程式隔離。這意味著 Kernel 實現對應用程式和應用程式管理 幾乎 完全不可見。

同樣在 M5 里程碑中,完全移除了對複製 (cloning) 的支持。區域隔離和它們之間的範圍計畫 (scoped plans) 為複製原本旨在解決的最常見問題提供了簡單且更容易管理的解決方案。

在接下來的兩個章節中,我將概述這些變更以及我們進行這些變更的原因。

區域新聞

一個 Region (區域) 就像一個 OSGi 框架——它是安裝、解析和運行應用程式的地方。

dm Kernel 創建一個單一的 User Region (使用者區域) 來運行應用程式,並且所有應用程式(包括 dm Server 提供的應用程式——Splash、Admin、Web 和 Hosted Repository)都部署到 User Region (使用者區域) 中…

dm Server 2.0.0.M5

工程 | Ben Hale | 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 headers (Bundle 清單標頭)。

<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 console。可以使用-shell啟動命令在本地存取此 console。

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

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

將 Spring 引入 Blueprint

工程 | Costin Leau | 2009 年 10 月 08 日 | ...

上個月,在最初的 4.0 版本發佈近 4 年後,OSGi Alliance 正式 批准了 OSGi 服務平台 4.2 版本。 該公告的標題介紹了 Blueprint Container 服務,這是基於 Spring Dynamic Modules(也稱為 Spring OSGi)項目所推廣的程式設計模型添加到 Compendium 規範中的一個新功能。 為了快速總結 Blueprint,我將直接引用 OSGi 的 規範

(Blueprint Container)[...] 定義了一個依賴注入框架,專門用於 OSGi bundles (捆綁包),它了解服務的獨特動態特性。 它提供了一個 OSGi bundle (捆綁包) 程式設計模型,具有最小的實現相依性,並且 Java 代碼中幾乎沒有意外的複雜性。

熟悉 IoC 概念或 Spring 和 Spring DM 配置的使用者會發現 Blueprint 規範很容易掌握。 事實上,由於它源自 Spring DM,因此很多…

獲取 Spring 新聞通訊

保持與 Spring 新聞通訊的聯繫

訂閱

領先一步

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

了解更多

獲得支持

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

了解更多

即將舉行的活動

查看 Spring 社區中所有即將舉行的活動。

查看全部