將作業配置上傳到 Spring Batch Admin

工程 | Dave Syer | 2010年4月8日 | ...

一個有趣的、沒有普遍良好解決方案的問題是:我如何更改正在執行的 Spring 應用程式的配置?最近釋出的 Spring Batch Admin 1.0.0.M3 具有一項配置上傳功能,以一種特殊的方式解決了這個問題。在最近慕尼黑的 S2GForum 上有人詢問了此功能(如果您錯過了,請註冊參加五月份在倫敦阿姆斯特丹舉行的活動),我很高興地告訴他此功能已存在,因此也許值得多花點時間介紹一下……

基本用例的螢幕截圖

上傳前的作業檢視 我們首先看一下應用程式中的作業檢視。它顯示了 Web 應用程式可以啟動或監視的作業列表。

現在計劃上傳一個新的作業配置並檢視此檢視的變化。因此,我們從頂部導航中的“檔案”選單開始,然後單擊“配置”。這將顯示一個用於上傳檔案的簡單表單。如果指向 Spring XML 配置檔案,檢視將如下所示:

Configuration View 我們按下“上傳”按鈕,配置將被上傳並解析,然後作業上傳檔案中的例項將被註冊以便啟動:Jobs View After Upload

您可以在作業登錄檔中看到一個新條目(“test-job”),該條目是可在此程序中啟動的,因為應用程式引用了作業。 (未啟動的作業在程序外執行,但使用了相同的資料庫來儲存其JobRepository,因此它們及其執行情況會顯示在 UI 中。)

基本用例的變體

基本上傳用例的一個常見變體是上傳現有作業配置的修改,而不是全新的配置。這很常見,因為人們通常需要調整執行時引數,尤其是在進行效能測試時。例如,我們可以更改其中一個Step中的 commit-interval,在作業中,以便在重複的專案處理過程中將更多(或更少)的專案分組並一起提交Step。這可能會影響效能,並且由於更有效地利用了事務資源,因此作業可能會執行得更快。我們可以透過在此應用程式中啟動作業並檢查結果來直接衡量和驗證這一點(因為 Web 介面是面向資源的,因此也可以使用基於curl).

它是如何工作的?

此用例實現的秘密在於,作業配置檔案的解析方式是將其分解為單獨的 SpringApplicationContext例項,這些例項由其檔名跟蹤。執行環境(JobLauncher、事務管理器、DataSource等)由應用程式作為父上下文提供,而Jobs則全部位於該環境的子上下文中。這意味著它們可以是易失的,並且它們的生命週期可以由應用程式中的服務管理。相關服務恰好透過包裝了JobLoader是 Spring Batch 的標準組件。

下一步是什麼?

請訪問 Batch Admin 網站獲取更多資訊,並瞭解在哪裡獲取程式碼進行試驗。請記住即將於 5 月在 倫敦阿姆斯特丹舉行的 S2GForum 活動,屆時 Spring Batch 和 Spring Integration 的負責人(Dave Syer 和 Mark Fisher)將在一個會議中討論和演示該應用程式。

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

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

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有